https://docs.python.org/2.7/library/os.path.html#module -os.path
os.path.getsize(path) # size in bytes
os.path.ctime(path) # time of last metadata change; it's a bit OS specific.
Вот переписывание вашей программы. Я сделал это:
- Переформатирован с autopep8 для лучшей читаемости. (Это то, что вы можете установить для предварительного кодирования вашего кода. Но IDE, такие как PyCharm Community Edition, могут помочь вам сделать то же самое, в дополнение к дополнению кода и GUI отладчику.)
- Сделано, чтобы ваш
getListofFiles()
вернул список кортежей. Есть три элемента в каждом; имя файла, размер и временная метка файла, которая, по-видимому, является так называемой эпохой (время в секундах с 1970 года; вам нужно будет go - python документация по датам и времени). - Кортежи записываются в ваш текстовый файл в формате стиля .csv (но учтите, что есть модули, которые могут сделать то же самое гораздо лучше).
Переписанный код:
import os
def getListOfFiles(ruta):
listOfFile = os.listdir(ruta)
allFiles = list()
for entry in listOfFile:
fullPath = os.path.join(ruta, entry)
if os.path.isdir(fullPath):
allFiles = allFiles + getListOfFiles(fullPath)
else:
print('getting size of fullPath: ' + fullPath)
size = os.path.getsize(fullPath)
ctime = os.path.getctime(fullPath)
item = (fullPath, size, ctime)
allFiles.append(item)
return allFiles
ruta = "FolderPath"
miArchivo = open("TxtPath", "w")
listOfFiles = getListOfFiles(ruta)
for elem in listOfFiles:
miArchivo.write("%s,%s,%s\n" % (elem[0], elem[1], elem[2]))
miArchivo.close()
Теперь он делает это.
my-MBP:verynew macbookuser$ python verynew.py; cat TxtPath
getting size of fullPath: FolderPath/dir2/file2
getting size of fullPath: FolderPath/dir2/file1
getting size of fullPath: FolderPath/dir1/file1
FolderPath/dir2/file2,3,1583242888.4
FolderPath/dir2/file1,1,1583242490.17
FolderPath/dir1/file1,1,1583242490.17
my-MBP:verynew macbookuser$