Chinaunix首页 | 论坛 | 博客
  • 博客访问: 658309
  • 博文数量: 102
  • 博客积分: 2241
  • 博客等级: 大尉
  • 技术积分: 1670
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-08 10:08
文章分类

全部博文(102)

文章存档

2013年(6)

2012年(15)

2011年(81)

分类: Python/Ruby

2011-05-18 00:02:56



    写了一个 python程序,加了 gettext 多语言支持,在py文件目录双击运行程序时界面是本地语言,把py快捷方式附到 WIN7 任务栏图标上,打开运行时界面却还是英语。

    想了好久才明白,原来问题出在  gettext.install('pgname', '.', True) 这句,查找语言文件时用的是相对路径,使用快捷方式运行程序时,找不到文件。

    另外,如果程序需要使用一些配置文件时,一般也是用相对路径的,这样也容易出问题,这时需要在启动程序时切换到程序所在的路径。 

    sys.path[0] 是程序所在的目录,在程序开头处加上 os.chdir(sys.path[0]) 就可以了。
如果是使用 py2exe 打包的程序,sys.path[0] 值是 路径名\library.zip , 再处理一下这个就可以

  1. ddir = sys.path[0]
  2. if os.path.isfile(ddir):
  3.     ddir,filen = os.path.split(ddir)
  4. os.chdir(ddir)

end.

阅读(4172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~