写了一个 python程序,加了 gettext 多语言支持,在py文件目录双击运行程序时界面是本地语言,把py快捷方式附到 WIN7 任务栏图标上,打开运行时界面却还是英语。
想了好久才明白,原来问题出在 gettext.install('pgname', '.', True) 这句,查找语言文件时用的是相对路径,使用快捷方式运行程序时,找不到文件。
另外,如果程序需要使用一些配置文件时,一般也是用相对路径的,这样也容易出问题,这时需要在启动程序时切换到程序所在的路径。
sys.path[0] 是程序所在的目录,在程序开头处加上 os.chdir(sys.path[0]) 就可以了。
如果是使用 py2exe 打包的程序,sys.path[0] 值是 路径名\library.zip , 再处理一下这个就可以
- ddir = sys.path[0]
-
if os.path.isfile(ddir):
-
ddir,filen = os.path.split(ddir)
-
os.chdir(ddir)
end.
阅读(4216) | 评论(0) | 转发(0) |