遍历目录并打印每个文件的内容[PYTHON]

时间:2020-02-05 09:41:46

标签: python file iteration

实际上它必须很简单,但是我找不到解决方法。

我有一个目录。让我们称其为包含txt文件(lycris2,歌词)的“文件”

我想遍历该目录并打印出每个txt.file的内容

这是我的代码:

import os

for filename in os.listdir("files"):
    f = open(filename, 'r')
    content = f.read()
    print(content)

但是它不起作用。这是我看到的错误消息:

C:\Users\Juan\.virtualenvs\PyQT\Scripts\python.exe "C:/Users/Juan/Desktop/Python Kurs/Kursmaterialien/PyQT/venvy library root/testmain.py"
Traceback (most recent call last):
  File "C:/Users/Juan/Desktop/Python Kurs/Kursmaterialien/PyQT/venvy library root/testmain.py", line 4, in <module>
    f = open(filename, 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'lyrcis2'

有解决方案吗?

2 个答案:

答案 0 :(得分:3)

文件处理程序需要当前目录中的完整相对路径:

import os

for filename in os.listdir("files"):
    f = open(os.path.join("files", filename), 'r')
    content = f.read()
    print(content)

答案 1 :(得分:0)

对于Python 3用户,有pathlib

import pathlib

for path in pathlib.Path('files').iterdir():
    if not path.is_file():
        continue
    with path.open() as f:
        print(f.read())