使用 get_script_dir() 解决打包后 Python 脚本路径问题
我理解您的问题了。看起来脚本运行时使用的路径是一个临时目录(C:\Users\admin\AppData\Local\Temp\_MEI173482\),这通常发生在使用 PyInstaller 打包的可执行文件中。
为了解决这个问题,我们需要区分脚本是作为 .py 文件运行还是作为打包后的可执行文件运行。
def get_script_dir():
if getattr(sys, 'frozen', False):
# 如果是打包后的可执行文件
return os.path.dirname(sys.executable)
else:
# 如果是 .py 脚本
return os.path.dirname(os.path.abspath(__file__))主要的变化是:
添加了
get_script_dir()函数,它能够区分脚本是作为 .py 文件运行还是作为打包后的可执行文件运行。在
main()函数中,使用current_dir = get_script_dir()来获取正确的工作目录。添加了一行日志记录来显示当前使用的工作目录:
logger.info(f"当前工作目录: {current_dir}")
这些修改应该能解决您遇到的问题。无论脚本是作为 .py 文件运行还是作为打包后的可执行文件运行,它都应该能够正确找到所需的文件和文件夹。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果