提问人:fgootkind 提问时间:8/17/2023 更新时间:8/17/2023 访问量:28
获取 FileNotFoundError,尽管目录存在
Getting a FileNotFoundError, despite directory existing
问:
我正在尝试遍历目录中的文件,但我一直收到未找到文件的错误,尽管该目录实际上是从 Windows 资源管理器复制粘贴的。它没有存储在 C 盘中,所以这可能是问题所在吗?
这是代码。
# Setting directory
obj_path = "D:/ultivue/1604-2201 Core 8plex (All Runs) Region Object Data/run 2"
# For loop to go through all files in the path
for file in obj_path:
data = pd.read_csv(file)
这是错误。
FileNotFoundError: [Errno 2] No such file or directory: 'D'
答:
3赞
JRiggles
8/17/2023
#1
字符串在 Python 中是可迭代的,这意味着它们可以循环。所以像这样的东西会单独打印每个字符。for char in 'word': print(char)
'word'
正如所写的那样,您正在尝试使用 ,这就是为什么它停在“D”(字符串的第一个字母)处并在尝试将其作为 csv 打开时抛出错误。obj_path
for _ in
您可以使用模块的方法来遍历给定目录中的所有文件pathlib
iterdir()
import pathlib
# Setting directory (instantiate as a pathlib.Path object)
obj_path = pathlib.Path("D:/ultivue/1604-2201 Core 8plex (All Runs) Region Object Data/run 2")
# For loop to go through all files in the path
for file in obj_path.iterdir():
data = pd.read_csv(file)
# do something with 'data' here, as it's going to be overwritten
# on each loop iteration!
评论
0赞
fgootkind
8/17/2023
这解决了,谢谢!
0赞
JRiggles
8/17/2023
@fgootkind 很高兴我能帮上忙!如果此答案对您有用,请将其标记为“已接受”(单击复选标记),以便其他人知道此问题已得到解答。祝您编码愉快!
评论
for file in obj_path:
for file in obj_path: print(file)
data = pd.read_csv(obj_path)
run 2
是存储文件的目录,而不是文件本身。obj_path
只是一个字符串。python 不可能知道你想把它用作需要列出的路径。您必须将它与一些执行此类操作的文件 API 一起使用。