pyinstaller打包后读不到配置文件的解决方法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

pyinstaller打包好一个exe后,运行此exe,会把此文件解压缩到

C:\Users\xxxx\AppData\Local\Temp\ 目录下,然后运行。

而配置文件一般放置在exe同级别目录下。假如os.path.dirname(os.path.realpath(__file__))

来获取目录,会定位到解压缩后的地址。

解决方法:

使用如下代码来获取文件夹:

os.path.dirname(os.path.realpath(sys.argv[0]))

附各种获取文件目录的方法,可以对比尝试下:

import os, sys


print('__file__:', __file__)
print('realpath of __file__:', os.path.realpath(__file__))
print('sys.executable:', sys.executable)
print('realpath of sys.executable:', os.path.realpath(sys.executable))
print('sys.argv[0]:', sys.argv[0])
print('realpath of sys.argv[0]:', os.path.realpath(sys.argv[0]))
print('sys.path[0]:', sys.path[0])
print('realpath of sys.path[0]:', os.path.realpath(sys.path[0]))

转载于:https://my.oschina.net/u/2396236/blog/3055607

你可能感兴趣的:(pyinstaller打包后读不到配置文件的解决方法)