У меня есть два разных файла .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())
IМне нужно, чтобы мои выходные данные прочитали оба файла, а также чтобы словарь начал новую строку, например:
'Science/Biology': '200'
'Math/Calculus': '342'
'Psychology': '324'
....
Надеюсь, мой вопрос имеет смысл.Спасибо!