如何读取多个txt文件中的信息?
How do I read the information from multiple txt files?
这是我从我的文件夹中读取文件的代码,但我不知道如何读取每个文件的信息。
import os
def readfiles(folder):
for file in os.listdir(folder):
print(file)
if os.path.isdir(os.path.join(folder,file)):
devolverArchivos(os.path.join(folder,file))
readfiles("/home/citlali/Modelos")
您可以使用 open("text.txt").read().splitlines()
阅读文本文件。例如
import os
def readfiles(folder):
result1 = []
result2 = []
for file in os.listdir(folder):
if file[-4:] == '.txt':
result1.append(open(file).read().splitlines())
result2.extend(open(file).read().splitlines())
print(result1)
print(result2)
readfiles("/home/citlali/Modelos")
根据您希望如何编译结果,list.append()
将附加 list 文本行,而 list.extend()
将添加单独的文本行(即,将 2 个列表合并为 1 个列表)。
要将所有文本文件写入 1 个文本文件,您可以尝试:
def readfiles(folder):
with open('result.txt', 'a') as write_file:
for file in os.listdir(folder):
if file[-4:] == '.txt':
write_file.write(', '.join(open(file).read().splitlines()))
write_file.write('\n')
write_file.close()
readfiles("/home/citlali/Modelos")
您可以像下面这样使用 os.walk()
:
import os
temp = {}
for subdir, dirs, files in os.walk("."):
for file in files:
filepath = subdir + os.sep + file
if filepath.endswith(".txt"):
# Your function goes here!
with open(filepath) as f:
temp[filepath] = f.readlines()
这是我从我的文件夹中读取文件的代码,但我不知道如何读取每个文件的信息。
import os
def readfiles(folder):
for file in os.listdir(folder):
print(file)
if os.path.isdir(os.path.join(folder,file)):
devolverArchivos(os.path.join(folder,file))
readfiles("/home/citlali/Modelos")
您可以使用 open("text.txt").read().splitlines()
阅读文本文件。例如
import os
def readfiles(folder):
result1 = []
result2 = []
for file in os.listdir(folder):
if file[-4:] == '.txt':
result1.append(open(file).read().splitlines())
result2.extend(open(file).read().splitlines())
print(result1)
print(result2)
readfiles("/home/citlali/Modelos")
根据您希望如何编译结果,list.append()
将附加 list 文本行,而 list.extend()
将添加单独的文本行(即,将 2 个列表合并为 1 个列表)。
要将所有文本文件写入 1 个文本文件,您可以尝试:
def readfiles(folder):
with open('result.txt', 'a') as write_file:
for file in os.listdir(folder):
if file[-4:] == '.txt':
write_file.write(', '.join(open(file).read().splitlines()))
write_file.write('\n')
write_file.close()
readfiles("/home/citlali/Modelos")
您可以像下面这样使用 os.walk()
:
import os
temp = {}
for subdir, dirs, files in os.walk("."):
for file in files:
filepath = subdir + os.sep + file
if filepath.endswith(".txt"):
# Your function goes here!
with open(filepath) as f:
temp[filepath] = f.readlines()