Как добавить текстовый файл с именем файла, размером файла и описанием файла?
Есть рабочий каталог, куда я скачал 7 PDF-файлов. Файлы сортируются по времени модификации, поэтому порядок таков: (file1.pdf, file2.pdf .. file7.pdf).
Есть текстовый файл (description.txt), который содержит 7 строк.
Подобный этому:
описание1
description2
.
.
description7
У меня есть текстовый файл (helloworld.txt) что я хочу добавить к каждой строке с {filename} {filesize} {description} вот так:
{file1.pdf} {Размер файла file1.pdf} {описание1}
{файл2.формат PDF} {Размер файла file2.формат PDF} {description2}
.
.
{file7.формат PDF} {Размер file7.формат PDF} {description7}
Что я уже пробовал:
Я написал скрипт на Python:
import os import glob textfilename = 'helloworld.txt' descriptiontext = open("description.txt", 'r') with open(textfilename, 'a') as textfile: # Open the text file for appending for filename in glob.iglob('*.pdf'): # For every file in the current directory matching '*.pdf' stat = os.stat(filename) # os.stat gets various file statistics filesize = stat.st_size/1024/1024 filesize = round(filesize,2) description = descriptiontext.readline() textfile.write(f'{filename} {filesize} {description} \n') # \n means newline
Я запустил код, но ... helloworld.txt это не совсем так. В результате получается следующее:
файл1.формат PDF 0.08 описание1
file6.формат PDF 0.21 description2
файл file3.формат PDF 0.14 description3
файл2.формат PDF 0.02 description4
file5.формат PDF 0.14 description5
file7.формат PDF 0.15 description6
файл file4.формат PDF 0.2 description7
Порядок имен файлов неверен (сопряжен с размером файла). Порядок не такой, как в порядке папок (порядок загрузки). (Я ничего не менял. Он сортируется по времени модификации.)
Моя ОС: Linux Lubuntu 20.04 LTS
Может ли кто-нибудь решить эту проблему?
Richard MacCutchan
Он будет работать только в том случае, если оба списка расположены в одном порядке. Лучше всего сначала прочитать описания, чтобы вы могли сопоставить имена файлов по мере их получения из системного вызова.