python os.path.join用于冻结的exe

python os.path.join用于冻结的exe,python,python-2.7,Python,Python 2.7,我正在编写使用os.walk搜索相对路径的代码。当我将它作为python脚本运行时,我没有问题,但是在将它转换为exe之后,它似乎找不到相对路径。下面的当前路径是我一直在研究的当前解决方案 对于os.walk(relativePath)中的根目录、目录和文件: 当硬编码相对路径时,exe工作 relativePath=“D:/location/./../folder” 转换为我丢失的exe时,加入是否有一些棘手的问题?我不确定,但原因可能是您在路径中混合了反斜杠和正斜杠 尝试将创建relativ

我正在编写使用os.walk搜索相对路径的代码。当我将它作为python脚本运行时,我没有问题,但是在将它转换为exe之后,它似乎找不到相对路径。下面的当前路径是我一直在研究的当前解决方案

对于os.walk(relativePath)中的根目录、目录和文件:

当硬编码相对路径时,exe工作

relativePath=“D:/location/./../folder”


转换为我丢失的exe时,加入是否有一些棘手的问题?

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

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

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

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

当您打印
currentPath
时,您会得到什么?由于sys.executable类似于“c:\program files\myprog\myprog.exe”,因此路径名中是否存在混合的反斜杠和正斜杠?试着让你的连接像os.path.join(currentPath,“…”,“…”,folder)一样。我只是在这里摇摆,因为我不完全理解这个问题。宾果!windows=\n我一直在python中使用/。谢谢FJ和Paul
relativePath = os.path.join(currentPath, '..', '..', 'folder')