python - 如何在 Python 中创建 csv 时修复“没有这样的文件或目录”错误
问题描述
我正在尝试创建一个新的 .csv 文件,但with open(...)
在代码部分中出现“没有这样的文件或目录”。
我修改了with open(...)
代码的一部分以排除方向,替换为字符串名称,它工作得很好。该文档是用我在 C 驱动器上的所有 PyCharm 划痕创建的。
我相信值得注意的是,我在 C: Drive 上运行 python,而 D: Drive 上存在给我问题的目录。不确定这是否真的有影响,但我
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 文件现在就在那里。那么为什么Drive会有所作为呢?Python的权限问题?
解决方案
原始字符串不能以一个反斜杠 '\' 结尾,因此您在代码中使用的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
更好的方法:
file_name = str(plpath.name)+".csv"
path = r"D:\Folder_Location"
csv_filename = os.path.join(path, file_name)
推荐阅读
- javascript - 防止 URL 泄漏给 wordpress 中的免费会员
- .net-core - 使用 EF Core 2.2 播种变量数据
- python - 有没有办法检查一个人是否在没有正则表达式的情况下输入了有效的电子邮件 - python
- c# - 使用 C# 取消选中所有复选框
- validation - 在 Ubuntu 操作系统上从 3.8.7 升级开源 Puppet
- c++ - C++ 创建一个以数组为参数的泛型函数
- html - 在模态框中有按钮
- javascript - 如何使用 2 行实时制作图表并使用 highcharts 从 php 获取数据
- python-3.x - Gensim 中使用高 alpha 值的 Word2Vec 的一些不同问题
- python - 无法使用 act_url 使用浏览器打开文件