Python 为什么我的exe文件不遵循脚本中的指定路径?
因此,我制作了一个exe文件,它将运行到需要打开并写入csv文件的位置,故障是: FileNotFoundError:[Errno 2]没有这样的文件或目录:“p:\\myfile\\directory\\sheet.csv” [5520]无法执行脚本 目录确实存在,并且脚本在调试模式下或从python shell执行时,只有在exe格式下才会失败 我还注意到它在目录之间打印Python 为什么我的exe文件不遵循脚本中的指定路径?,python,directory,exe,Python,Directory,Exe,因此,我制作了一个exe文件,它将运行到需要打开并写入csv文件的位置,故障是: FileNotFoundError:[Errno 2]没有这样的文件或目录:“p:\\myfile\\directory\\sheet.csv” [5520]无法执行脚本 目录确实存在,并且脚本在调试模式下或从python shell执行时,只有在exe格式下才会失败 我还注意到它在目录之间打印\\,这在我的脚本中不是这样的 我的一个理论是exe文件不能写入共享网络驱动器 我运行的是Windows10,python
\\
,这在我的脚本中不是这样的
我的一个理论是exe文件不能写入共享网络驱动器
我运行的是Windows10,python3.7
我的代码是:
with open('P:\my\directory\sheet.csv', 'a', newline='') as csvfile:
您应该将其更改为:
with open('P:/my/directory/sheet.csv', 'a', newline='') as csvfile:
注意从\
到/
Python字符串考虑反斜杠作为转义字符。您有很多选择:
- 将
替换为\
/
- 使用
\\
- 使用原始文字,即:
r“p:\my\directory\sheet.csv”
- 使用
os.path.sep
- 使用
os.path.join
- 等等
/
替换\
,就像我给你的例子一样
作为示例,请尝试以下操作:
print("mydir\nothing\table.csv")
输出:
P:\mydir
othing able
您将看到输出不是您最初期望的,因为\n
和\t
已转换为特殊字符:)
通常,除非您确定发生了什么,否则避免在字符串中使用反斜杠
\
。将正确处理用/
分隔的目录。您可以发布与此错误相关的正在使用的代码吗?很可能你的大脑中有逃跑的问题strings@purpletentacle我已将脚本的相关部分添加到问题中,正如我所说,这在visual stuido、python shell和编译后的python文件中都能很好地工作。为了完整性,请参见:在等下。一个常见的选项是使用“原始”字符串文字r“P:\my\directory\sheet.csv”
谢谢你的建议!我又加了几句。