Python 3.8运行代码出现FileNotFoundError:找不到指定文件
解决FileNotFoundError: 找不到pattern2_list.txt文件的问题
报错信息
FileNotFoundError: [Errno 2] No such file or directory: 'pattern2_list.txt'
运行代码(Python 3.8)
import os import shutil with open("pattern2_list.txt") as pattern_list_file: pattern_data = pattern_list_file.read () pattern_list = pattern_data.split('\n')[:-1] file_name_list = [file_name for file_name in os.listdir('2020')] for file_name in file_name_list: for pattern in pattern_list: if pattern in file_name: shutil.move("2020/" + file_name, "new_dir/"+ file_name)
排查和解决步骤
- 确认文件位置:代码使用相对路径,
pattern2_list.txt必须在你运行代码的当前工作目录下。可以在代码开头添加print(os.getcwd())输出当前路径,然后检查该路径下是否存在这个文件。 - 核对文件名:检查文件名是否完全匹配,注意大小写(Linux/macOS系统区分文件名大小写,Windows不区分),避免出现
pattern2_list.txt.txt这类隐藏扩展名的错误。 - 使用绝对路径:如果不确定工作目录,直接写文件的绝对路径更稳妥,比如Windows下
C:/your_project/pattern2_list.txt,Linux/macOS下/home/your_user/your_project/pattern2_list.txt。 - 检查文件状态:确认文件没有被误删、移动到其他文件夹,或者被杀毒软件隔离。
额外优化建议(可选)
- 提前检查
2020目录是否存在,避免os.listdir报错:if not os.path.isdir('2020'): print("目录2020不存在") exit() - 提前创建
new_dir目录,避免shutil.move因目标目录不存在报错:os.makedirs('new_dir', exist_ok=True)
内容的提问来源于stack exchange,提问作者coral
相关产品推荐
相关产品推荐

