我很清楚如何打开一个文件,使用open()
函数非常简单:
with open('number.txt', 'rb') as myfile:
data=myfile.read()
但是,如果我想打开5个.txt文件并在Python中将它们视为字符串,那将会是我的行为?我应该以某种方式使用os.listdir()
种可能性吗?
答案 0 :(得分:1)
这是一种灵活/可重复使用的方法,可以完全满足您的需求:
def read_files(files):
for filename in files:
with open(filename, 'rb') as file:
yield file.read()
def read_files_as_string(files, separator='\n'):
files_content = list(read_files(files=files))
return separator.join(files_content)
# build your files list as you need
files = ['f1.txt', 'f2.txt', 'f3.txt']
files_content_str = read_files_as_string(files)
print(files_content_str)
答案 1 :(得分:0)
看起来你需要。
import os
path = "your_path"
for filename in os.listdir(path):
if filename.endswith(".txt"):
with open(os.path.join(path, filename), 'rb') as myfile:
data=myfile.read()