我正在尝试制作一个新的.csv文件,但是在代码的with open(...)
部分中却得到了“没有这样的文件或目录”。
我修改了代码的with open(...)
部分,以排除方向,替换了字符串名称,效果很好。该文档的所有PyCharm划痕都创建在C盘上。
我相信值得注意的是,我在C:盘上运行python,而D:盘上存在给我问题的目录。不知道这是否真的有所作为,但我
path = r"D:\Folder_Location\\"
plpath = pathlib.PurePath(path)
files = []
csv_filename = r"D:\Folder_Location\\"+str(plpath.name)+".csv"
#Create New CSV
with open(csv_filename, mode='w',newline='') as c:
writer = csv.writer(c)
writer.writerow(['Date','Name'])
我希望代码创建一个新的.csv文件,然后该脚本的其余部分将在特定文件夹位置使用该文件,但出现以下错误:
File "C:/Users/USER/.PyCharm2018.2/config/scratches/file.py", line 14, in <module>
with open(csv_filename, mode='w',newline='') as c:
FileNotFoundError: [Errno 2] No such file or directory: '[INTENDED FILE NAME]'
Process finished with exit code 1
该错误代码正确地构建了文件名,但是随后说它找不到该位置,这使我再次相信,这不是代码本身,而是独立驱动器的问题(推测)。另外,第14行是with open(...)
的开始。
编辑:我测试了一个理论,并将文件夹移动到C:驱动器,仅从新位置复制并粘贴了路径以更新路径(在Python中,文件路径末尾仍使用\),并且有效。现在有新的.csv文件。 那为什么云端硬盘会有所作为? Python的权限问题?
答案 0 :(得分:0)
原始字符串不能以单个反斜杠'\'结尾,因此您在代码中使用的语言(例如{% for price in object.price_set.all %}
)是正确的,但是实际上,在路径末尾不需要任何反斜杠:
我运行了一些类似的测试,并且一切正常,只有当我使用不存在的目录时才出现相同的错误
这就是我得到的:
path = r"D:\Folder_Location\\"
所以我敢打赌,您在FileNotFoundError: [Errno 2] No such file or directory: 'E:\\python\\myProgects\\abc\\\\sample3.txt'
中分配了一个不存在的路径,或者您的路径引用的是文件而不是文件夹
确保只运行此:
path = r"D:\Folder_Location\\"
更好的方法:
import os
path = r"D:\Folder_Location\\"
print(os.path.isdir(path)) # print true if folder already exists