我已使用pyinstaller将python程序转换为exe。My exe创建一个临时文件夹_MEIxxxxx以保存文件。在同一个文件夹中,有一个文件正在被程序更改,但不幸的是,它没有发生。 在程序中,我将文件夹更改为上面的文件夹:
os.chdir('C:\\Users\\Public')
for foldername in os.listdir():
if foldername.startswith('_MEI'):
myfolder = foldername
os.chdir('C:\\Users\\Public'+myfolder+'\\Quiz')
提前谢谢
这不起作用:
因为
myfolder
在开始时不包含\
不要硬编码
C:\Users\Public
,使用PUBLIC
env。变量避免
chdir
,它相当于所有模块之间共享的全局变量。如果某个模块需要一个当前目录,另一个则需要另一个您的尝试看起来更像是移植到python的shell脚本
cd xxx; ls; ...
。改掉这个习惯改用绝对路径/作为参数传递的路径。我的建议:
如果您需要一个绝对目录来运行系统调用,
subprocess
函数有一个cwd
参数。所以你可以避免99%的时间相关问题 更多 >
编程相关推荐