我正在使用os.walk搜索相对路径的代码。当我将它作为python脚本运行时,我没有任何问题,但在将其转换为exe后,它似乎无法找到相对路径。当前路径打印正常以下是我一直在努力的当前解决方案。
if getattr(sys, 'frozen', False): currentPath = os.path.dirname(sys.executable) relativePath = os.path.join(currentPath,'/../../folder') else: currentPath = inspect.stack()[0][1] relativePath = os.path.join(currentPath,'/../../folder')
for root, dirs, files in os.walk(relativePath):
当对exe路径进行硬编码时,exe工作正常。
relativePath =“D:/ location /../../ folder”
在转换为我缺少的exe时,是否存在加入时有些棘手的问题?
答案 0 :(得分:1)
我不确定,但原因可能是你在路径中混合反斜杠和正斜杠。
尝试将创建relativePath
的代码更改为以下内容:
relativePath = os.path.join(currentPath, '..', '..', 'folder')
这应该确保您肯定使用正确的路径分隔符。