首页 > 解决方案 > 我尝试在目录中打开文件,但出现此错误 FileNotFoundError: [Errno 2] No such file or directory: 'john.txt'

问题描述

测试.py:

import os, sys

# Open a file
path = "C:/Users/mypc/Myapp/myapp/myfiles"
dirs = os.listdir( path )

for file in dirs:
    with open(file, 'rb') as _fp:
        fileData = _fp.read()
        print("FILE DATA (%s):\n\n%s\n\n"%(_fp.name, fileData))

我的文件夹:

Myapp/
   myapp/
      myfiles/
              john.txt
              juma.txt
              fatma.txt
      test.py

错误:

Traceback (most recent call last):
  File "C:/Users/mypc/Myapp/myapp/test.py", line 8, in <module>
    with open(file, 'rb') as _fp:
FileNotFoundError: [Errno 2] No such file or directory: 'john.txt'

我试图解决它,但我没有找到解决方案,我需要帮助

标签: pythonlistdir

解决方案


如果您不在同一目录中,则需要完整路径名才能获取文件。这就是我要做的。在 open 函数中添加路径变量、“/”和文件。最好使用 open(os.path.join(path, file))。

import os, sys

# Open a file
path = "C:/Users/mypc/Myapp/myapp/myfiles"
dirs = os.listdir( path )

for file in dirs:
    with open( path + "/" + file) as _fp:
        fileData = _fp.read()
        print("FILE DATA (%s):\n\n%s\n\n"%(_fp.name, fileData))

推荐阅读