Преобразование C ++ в код Python, цикл по каталогам и получение метки времени из файла?

1

Мне было поручено преобразовать скрипт 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.

  • 0
    Вы уже читали модуль os ? Почти все, что вам нужно, находится в os.walk() и os.path.getmtime() . Было бы полезно, если бы вы могли прочитать этот модуль и обновить свой вопрос, чтобы быть более точным в отношении того, что вы прочитали и не поняли.
  • 0
    Лучше всего использовать os.listdir или os.walk?
Показать ещё 4 комментария
Теги:
directory
timestamp
loops
filesize

1 ответ

2

Вы ищете os.path.walk или glob.glob для перечисления файлов в поддереве каталога и os.stat (или os.lstat) для получения метки времени последней модификации.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню