Мне было поручено преобразовать скрипт C++ в скрипт python. Цель скрипта - пропустить все каталоги (по дате начала и конца) в mediaDB и рассчитать размер zip файла. Я зациклился на том, чтобы получить цикл for, чтобы пройти через каталоги, его так отличается в python от C++, в котором у меня больше опыта. Может ли кто-нибудь предложить какие-либо предложения?
C++ Код
// This will loop over each core files directory and sum the file size.
directory_iterator dirIt(mediaDBCoreFilesDir);
for (directory_iterator dirIt(mediaDBCoreFilesDir);dirIt!=directory_iterator();dirIt++)
Также, если у кого-нибудь есть идеи относительно того, как получить последнюю метку времени обновления из файла в python, который был бы очень оценен. Код C++:
// Get the last update timestamp from the file
std::time_t t = last_write_time(*dirIt);
ptime fileTimeStamp = from_time_t(t);
EDIT: я пытаюсь сначала написать оператор for, который перебирает все каталоги и суммирует размер файла из них. Мне не нужно редактировать, удалять или печатать любые каталоги, просто получить размеры файлов. Уместно ли тогда использовать os.walk и os.path.getsize?
Во-вторых, мне нужно получить последнюю обновленную временную метку из файлов. Tho я действительно не понимаю этот процесс получения timestamp.
Вы ищете os.path.walk
или glob.glob
для перечисления файлов в поддереве каталога и os.stat
(или os.lstat
) для получения метки времени последней модификации.
os
? Почти все, что вам нужно, находится вos.walk()
иos.path.getmtime()
. Было бы полезно, если бы вы могли прочитать этот модуль и обновить свой вопрос, чтобы быть более точным в отношении того, что вы прочитали и не поняли.