0

我正在研究使用 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):

在对 relativePath 进行硬编码时,exe 可以工作。

relativePath = "D:/location/../../文件夹"

转换为我缺少的 exe 时加入有什么棘手的问题吗?

4

1 回答 1

1

我不确定,但原因可能是您在路径中混合了反斜杠和正斜杠。

尝试将创建的代码更改为relativePath以下内容:

relativePath = os.path.join(currentPath, '..', '..', 'folder')

这应该确保您肯定使用了正确的路径分隔符。

于 2012-09-26T18:06:26.270 回答