[英]How do you read lines from all files in a directory?
我在一個目錄中有兩個文件。 我想從每個文件中讀取行。 不幸的是,當我嘗試使用以下代碼執行此操作時,沒有輸出。
from pathlib import Path
p = Path('tmp')
for file in p.iterdir():
print(file.name)
函數.py
測試.txt
for file in p.iterdir():
f = open(file, 'r')
f.readlines()
你應該從 text.py 打印這樣的數據
count = 1
f = open(file, 'r')
Lines = f.readlines()
for line in Lines:
count += 1
print("Line {}: {}".format(count, line.strip()))
輸出將如下所示:
Line 1: ...
Line 2: ...
Line 3: ...
您可以在此處查看閱讀行示例 - 行閱讀
您可以使用fileinput
:
import os
import fileinput
for line in fileinput.input(os.listdir('.')):
print(line)
您正在讀取文件中的所有行,但沒有輸出它們。 如果要將行打印到標准輸出,則需要像在第一個示例中一樣使用print()
。
您還可以使用上下文和更多迭代器更優雅地編寫此代碼:
from pathlib import Path
file = Path('test.txt')
with file.open() as open_file:
for line in open_file:
print(line, end="")
測試.txt:
Spam
Spam
Spam
Wonderful
Spam!
Spamity
Spam
結果:
Spam
Spam
Spam
Wonderful
Spam!
Spamity
Spam
使用上下文打開文件( with file.open()
)意味着您固有地設置了關閉文件,並且行的迭代器( for line in open_file
)意味着您不會一次加載整個文件(一個重要的考慮使用更大的文件)。
根據您的源文件的結構方式,在print()
設置end=""
是可選的,否則您最終可能會在輸出中打印額外的空白行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.