我有两个不同的.txt文件。我正在尝试阅读并将其变成字典。我注意到,在具有的功能上,它仅读取文件之一。我认为glob至少会通读所有这些内容。
当我只是尝试读取文件而不将它们变成字典时,此代码有效。它从两个.txt文件中打印出内容
data = ""
for file in glob.glob(".txt"):
with open(file) as filenames:
data = data + filenames.read()
return data
当我尝试使用某种正则表达式模式读取文件以读取某些字符串时,它只能识别其中一个文件。这是我的两个文件和功能:
File1.txt
file.py Marvel/GuardiansOfGalaxy 300 1
file.py DC/Batman 504 1
file.py GameOfThrones 900 0
file.py DC/Superman 200 1
file.py Marvel/CaptainAmerica 342 0
File2.txt
file.py Science/Biology 200 1
file.py Math/Calculus 342 0
file.py Psychology 324 1
file.py Anthropology 234 0
file.py Science/Chemistry 444 1
功能:
import glob
import re
def read():
pattern = re.compile(r"file\.py (.+).*? (\d+) \d+")
data_files = []
for file in glob.glob("*.txt"):
with open(file, 'r') as filenames:
data_files = dict(pattern.findall(filenames.read()))
return data_files
print(read())
我需要我的输出来读取两个文件,并使字典输出开始新行,如:
'Science/Biology': '200'
'Math/Calculus': '342'
'Psychology': '324'
....
我希望我的问题有意义。谢谢!