Форум сайта python.su
Linux, имеется огромная папка с текстовыми файлами, требуется написать скрипт, который будет проходить по файлам определенной папки и записывать в уже существующий словарь текст, идущий после названия ключа. Пример: в словаре есть ключ Computer, нужно чтобы скрипт, если в файле встречается строчка, имеющая Computer, то все, что идет после этой строчки до переноса записывается в значение ключа Computer, что-то по типу такого: в файле есть строчки Computer: MSI Nightblade B85C-214RU и Price: 60000, нужно чтобы записало в dictionary = {'Computer' : ‘ MSI Nightblade B85C-214’ , ‘Price’ : ‘60000’}. Недавно начал изучать python, и в голову не лезет как это все провернуть
Офлайн
https://www.geeksforgeeks.org/python-os-listdir-method/
или
https://www.geeksforgeeks.org/os-walk-python/
https://pypi.org/project/mime/
или
https://pypi.org/project/python-magic/
https://www.w3schools.com/python/python_file_handling.asp
Отредактировано AD0DE412 (Сен. 2, 2022 23:00:56)
Офлайн
Тут изобразил файл
>>> import io >>> >>> text = """\ ... Computer: MSI Nightblade B85C-214RU ... Price: 60000 ... """ >>> >>> stream = io.StringIO(text) >>> >>> dct = {} >>> for i in stream: ... key, value = map(str.strip, i.split(':', 1)) ... dct[key] = value ... >>> dct {'Computer': 'MSI Nightblade B85C-214RU', 'Price': '60000'} >>>
>>> ifname = 'file.txt' >>> >>> dct = {} >>> with open(ifname, encoding='utf-8') as fin: ... for i in fin: ... key, value = map(str.strip, i.split(':', 1)) ... dct[key] = value ... >>> print(dct) {'Computer': 'MSI Nightblade B85C-214RU', 'Price': '60000'} >>>
Отредактировано py.user.next (Сен. 2, 2022 23:11:11)
Офлайн