尝试打开文件以在Python 3中读取时获取FileNotFoundError

瓦斯洛

我正在使用OS模块打开文件进行读取,但出现FileNotFoundError。

我在尝试着

  • 在给定的子目录中找到所有包含单词“ mda”的文件
  • 对于每个文件,紧接两个“ _”(表示称为SIC的特定代码)之后的文件名中的字符串
  • 打开该文件以供阅读
  • 稍后将写入主文件以进行一些Mapreduce处理

当我尝试打开时,出现以下错误:

 File "parse_mda_SIC.py", line 16, in <module>
     f = open(file, 'r')
FileNotFoundError: [Errno 2] No such file or directory:        
'mda_3357_2017-03-08_1000230_000143774917004005__3357.txt'

我怀疑问题出在“文件”变量还是它在一个目录下,但我为什么在使用OS寻址该较低目录时会发生这种情况,我感到困惑。

我有以下代码:

working_dir = "data/"

for file in os.listdir(working_dir):
    if (file.find("mda") != -1):
        SIC = re.findall("__(\d+)", file)
        f = open(file, 'r')

我希望能够毫无问题地打开文件,然后从数据创建我的列表。谢谢你的帮助。

MyNameIsCaleb

这应该为您工作。您需要附加目录,因为它会将其视为仅位于代码顶部的文件名,并且只会在该代码的代码所在目录中查找。

for file in os.listdir(working_dir):
    if (file.find("mda") != -1):
        SIC = re.findall("__(\d+)", file)
        f = open(os.path.join(working_dir, file), 'r')

另外,使用的上下文管理器打开文件也是一种好习惯,with因为它将在不再需要文件时处理关闭文件的操作:

for file in os.listdir(working_dir):
    if (file.find("mda") != -1):
        SIC = re.findall("__(\d+)", file)
        with open(os.path.join(working_dir, file), 'r') as f:
            # do stuff with f here

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:尝试使用我打开的文件的内容时出现 TypeError

“ with”比尝试/捕获在Python中打开文件更好吗?

打开/尝试读取文件

尝试读取与 python 文件位于同一目录中的文件但收到 FileNotFoundError

尝试打开文件时如何解释 Django 中的 python 代码?

尝试打开文件时出现类型错误

Android打开失败:尝试读取数据/数据中的文件时,EACCES(权限被拒绝)

尝试在 python 文件中提取 JSON 数据时,django 代码中显示 FileNotFoundError

尝试使用VS Code用Python3打开CSV文件时出现意外结果

使用python打开txt文件时出现FileNotFoundError

尝试在文件菜单中打开设置时TortoiseHg崩溃

读取文件名时如何修复文件移动脚本中的FileNotFoundError?

python读取文件以打开LED

尝试在C ++中打开文件,但找不到该文件

Python:尝试写入文件时出现“ ValueError:无法打开控制台输入缓冲区进行写入”

尝试打开 python 可执行脚本文件 (myfile.exe) 时,出现 ModuleNotFoundError: No module named 'chatterbot.preprocessors'

尝试同时打开多个文件以读取文件时出现分段错误(Core Dumped)

尝试从未打开的文件读取时,我的libfuse文件系统应返回哪个系统错误?

打开文件时出错。Python

尝试获取Python中.wav文件的频率

从Python中的打开文件获取路径

尝试从Django应用打开json文件时出现编码错误

尝试在Windows上打开文件时要求某些凭据

尝试使用Elixir在Docker内部打开文件时出错

尝试打开bean xml文件时,ClassPathXmlApplicationContext返回FileNotFoundException异常

尝试打开.sks文件时Xcode 7崩溃

尝试打开文件时 TKinter 窗口“无响应”

尝试打开MDB文件时的“选择表”屏幕

Python(3.x)-读取文件时打开文件并删除引号