Рекурсивное сканирование папки и определение максимального времени файла в этой папке.Python

Программы на Python
Гость
Рекурсивное сканирование папки и определение максимального времени файла в этой папке.

Сообщение Гость »


Предположим, у меня есть папка «myfolder», структура которой похожа на эту

Код: Выделить всё

myfolder/
myfolder/a/
myfolder/a/1/
myfolder/a/1/i.txt
myfolder/a/1/ii.txt
myfolder/a/1/iii.txt
myfolder/a/2/
myfolder/a/2/i.txt
myfolder/a/2/ii.txt
myfolder/a/2/iii.txt
myfolder/b/
myfolder/b/3/
myfolder/b/3/i.txt
myfolder/b/3/ii.txt
myfolder/b/3/iii.txt
myfolder/b/4/
myfolder/b/4/i.txt
myfolder/b/4/ii.txt
myfolder/b/4/iii.txt
и так далее.
Теперь я хочу сканировать свою папку и время каждого файла, чтобы напечатать имя каталога и последнее время. каталога. Затем я хочу, чтобы родительский каталог этого каталога просматривал все подкаталоги и печатал имя родительского каталога с самым последним временем всех подкаталогов и файлов в каталоге. Таким образом, список, который я бы сгенерировал, показывал бы для каждого каталога самое последнее время любого файла в его нижестоящей файловой структуре.
Я попробовал следующий код

Код: Выделить всё

import os
import sys
import time

# Define the drill_directory function
def drill_directory(directory):
most_recent = 0.0  # Initialize most_recent as a float
for file in os.listdir(directory):
file_path = os.path.join(directory, file)
if os.path.isfile(file_path):
atime = float(os.path.getatime(file_path))  # Convert atime to float
if atime > most_recent:
most_recent = atime
else:
drill_directory(file_path)
print_most_recent = time.ctime(most_recent)
print(print_most_recent, directory)

# Define the path to the downloads folder
drill_directory('/Users/Admin/Downloads/')
and I got a list of directories with atimes but I noticed some of the subdirectories to a parent directory had more recent atimes than its parent.


Источник: https://stackoverflow.com/questions/781 ... hat-folder

Вернуться в «Python»