如何使用Python中的csv创建修复“无此文件或目录”错误

时间:2019-05-14 22:39:41

标签: python csv

我正在尝试制作一个新的.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的权限问题?

1 个答案:

答案 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