Преобразование C ++ в код Python, цикл по каталогам и получение метки времени из файла? - PullRequest
1 голос
/ 06 сентября 2011

Мне было дано задание преобразовать скрипт C ++ в скрипт Python.Цель сценария - циклически пройти по всем каталогам (по дате начала и окончания) в mediaDB и вычислить, каким будет размер zip-файла.Я застрял при получении цикла for для просмотра каталогов, он настолько отличается от Python от C ++, в котором у меня больше опыта. Может кто-нибудь предложить какие-либо предложения?

C ++ Code

// 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);

РЕДАКТИРОВАТЬ: я пытаюсь сначала написать оператор for, который перебирает все каталоги и суммирует их размер.Мне не нужно редактировать, удалять или распечатывать какие-либо каталоги, просто получите размеры файлов.Тогда более уместно использовать os.walk и os.path.getsize?

Во-вторых, мне нужно получить последнюю обновленную метку времени из файлов.То есть я не совсем понимаю этот процесс получения метки времени.

1 Ответ

2 голосов
/ 06 сентября 2011

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

...