目录存在却触发FileNotFoundError的技术求助
问题分析与解决方法
问题根源不是目录不在C盘,你的代码逻辑错误才是触发报错的原因。
错误原因
你写的for file in obj_path:是在遍历字符串的每个字符,而非遍历目录下的文件。比如路径字符串"D:/ultivue/..."会被拆成'D'、':'、'/'等单个字符,第一次循环尝试读取'D'这个"文件",自然会报找不到的错误。
正确实现方式
需要用Python的文件遍历工具来处理目录,以下是两种常用方案:
方案1:使用os模块
import os import pandas as pd obj_path = "D:/ultivue/1604-2201 Core 8plex (All Runs) Region Object Data/run 2" # 遍历目录下的所有条目 for filename in os.listdir(obj_path): # 拼接完整文件路径 file_path = os.path.join(obj_path, filename) # 仅处理CSV文件(避免子目录或非CSV文件) if os.path.isfile(file_path) and filename.endswith('.csv'): data = pd.read_csv(file_path) # 在这里添加对data的处理逻辑
方案2:使用pathlib模块(推荐,更简洁)
from pathlib import Path import pandas as pd obj_path = Path("D:/ultivue/1604-2201 Core 8plex (All Runs) Region Object Data/run 2") # 遍历目录下的所有文件 for file_path in obj_path.iterdir(): # 仅处理CSV文件 if file_path.is_file() and file_path.suffix == '.csv': data = pd.read_csv(file_path) # 在这里添加对data的处理逻辑
额外注意事项
- 确认目标目录确实存在,复制路径时检查是否有多余空格或不可见字符
- 如果目录下有大量非CSV文件,添加后缀判断能避免不必要的报错
内容的提问来源于stack exchange,提问作者fgootkind
相关产品推荐
相关产品推荐

