pyinstaller打包好一个exe后,运行此exe,会把此文件解压缩到code
C:\Users\xxxx\AppData\Local\Temp\ 目录下,而后运行。table
而配置文件通常放置在exe同级别目录下。假如os.path.dirname(os.path.realpath(__file__))import
来获取目录,会定位到解压缩后的地址。打包
解决方法:配置
使用以下代码来获取文件夹:file
os.path.dirname(os.path.realpath(sys.argv[0]))方法
附各类获取文件目录的方法,能够对比尝试下:im
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]))