用pyinstaller打包python程序后发现要读取的文件路径不对了,解决方法如下:
if getattr(sys, 'frozen', False):
absPath = os.path.dirname(os.path.abspath(sys.executable))
elif __file__:
absPath = os.path.dirname(os.path.abspath(__file__))
列出该文件夹下的文件
fileList = os.listdir(absPath)
目标文件完整路径
ruleFilePath = os.path.join(absPath,ruleFile)
记录一下pyinstaller打包的方法:
在你想放置应用的文件夹下打开cmd,pyinstaller + 参数 +文件入口或打包定义文档。
参数:?
?-F:仅仅生成一个文件,不暴露其他信息,启动较慢。 -D:生成一个文件夹,里面是多文件模式,启动快。 -w:窗口模式打包,不显示控制台。 -c:跟图标路径,作为应用icon。 --hidden-import 应用需要的包,但是没有被打包进来,这里的错误是最多的,因为一般是第三方包隐式调用其他包,然后打包出来的程序显示Fate Error不能运行。
|