python用pyinstaller打包后路径问题

用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 打包单个文件,生成结果是一个exe文件,如果代码都写在一个.py文件时使用,项目有多个文件时不要使用
-i 指定程序的图标
-w 不显示dos窗口(命令行)
-c 显示dos窗口(命令行)
-h 显示帮助
-v 显示版本号
--key=密码 加密打包

 更换exe程序图标

        如果不喜欢默认的图标,想要换成自己喜欢的,那么需要准备后缀为.ico的图片。在网页上就可以在线转图片格式,很方便。
        执行命令:pyinstaller -F -i 图片名.ico 文件名.py。(-i表示更换图标) 

pyinstaller -F -i D:\target.ico main.py

去掉Dos窗口

如果程序本身就实现了图形界面,运行程序的时候,不希望显示dos窗口,想取消掉就执行-w命令。再重新打包后,就会只显示图形界面,没有dos窗口了

pyinstaller -F -w main.py -i D:\target.ico 

你可能感兴趣的:(Python,python)