为何同一段Python读写代码一处正常一处报FileNotFoundError,导入同目录模块也失败
FileNotFoundError报错排查思路
针对两份相同的文件读取代码运行结果不一致的问题,按以下优先级排查:
- 确认**当前工作目录(CWD)**差异:Python读取相对路径文件时,锚定的是执行命令时终端所在的目录,而非Python文件本身的存储目录。可在两个Python文件开头都加入代码
import os;print(os.getcwd()),对比打印出的目录,确认报错文件对应的工作目录下是否存在wordlist.txt文件 - 检查文件名拼写与大小写:Linux、macOS系统对文件名大小写敏感,需确认文件是否存在
Wordlist.txt、wordlist.TXT这类大小写不一致的命名 - 确认运行方式差异:IDE默认运行Python文件时,通常会把工作目录设为当前文件所在目录,若你手动在其他目录下通过命令行执行文件,就会出现相对路径查找失败的问题
同目录words模块导入失败解决建议
针对同目录存在words.py但导入报错的问题,按以下步骤处理:
- 先确认工作目录:同样在当前运行文件开头打印
os.getcwd(),确认输出的目录下确实存在words.py - 排查文件名错误:开启系统的文件扩展名显示,确认文件后缀是
.py而非.py.txt,同时确认没有拼写错误(如误写为word.py、Words.py),也不要将当前运行的主文件命名为words.py,避免导入冲突 - 强制添加模块搜索路径:在导入
words的代码前加入以下代码,将当前文件所在目录强制加入Python的模块搜索路径:
import sys import os sys.path.append(os.path.dirname(os.path.abspath(__file__)))
- 低版本Python兼容:如果使用Python3.3以下版本,需要在
words.py所在目录下新增一个空的__init__.py文件,标识该目录为Python可识别的包目录
内容的提问来源于stack exchange,提问作者xiao
相关产品推荐
相关产品推荐

