Как я могу создать набор наборов в Python?

Я знаю, что могу использовать attributesOfItemAtPath , чтобы, помимо прочего, получить время / дату модификации файла ... но есть ли способ УСТАНОВИТЬ дату модификации / время файла?

Я просмотрел Как программно установить время модификации файла? , но, похоже, это не применимо.

Причина, по которой я спрашиваю, заключается в том, что я использую http://allseeing-i.com/ASIHTTPRequest/ (как показано ниже) для получения файла ... однако временная метка не сохраняется такой же, как последняя -Изменено время на сервере. Я хочу использовать заголовок Last-Modified для установки даты / времени загруженного файла, чтобы я мог сохранить время загрузки в моей системе таким же, как и на сервере.

Мой код следующий:

ASIHTTPRequest *requestFeed = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:kGZipSQLURL]];
[requestFeed setNumberOfTimesToRetryOnTimeout:2];
[requestFeed setDownloadDestinationPath:librarySQLGZipPath];
[requestFeed setCachePolicy:ASIAskServerIfModifiedCachePolicy|ASIFallbackToCacheIfLoadFailsCachePolicy];
[requestFeed setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
[requestFeed setSecondsToCache:60*60*24*30];
[requestFeed setDownloadCache:[ASIDownloadCache sharedCache]];
[requestFeed startSynchronous];
NSString *lastModified = [[requestFeed responseHeaders] objectForKey:@"Last-Modified"];
NSLog(@"Last Modified: %@",lastModified);

Итак, строка lastModified содержит отметку времени / даты. Есть ли способ гарантировать, что файл в librarySQLGZipPath теперь будет установлен на дату / время в lastModified ? Используя текущий метод, файл librarySQLGZipPath содержит время его загрузки, что для меня неверно.

Спасибо!

Янн

РЕДАКТИРОВАТЬ ПОЗЖЕ:

Потому что я хотел красиво поместите на эту страницу, как сделать код для этого, и все же хотел бы отдать должное Стивену Крамеру за ответ. Теперь я собираюсь отредактировать вопрос с ответом, который я получил, используя код:

, тогда как NSDateFromRFC1123 - это процедура найдено здесь: http://blog.mro.name/2009/08/nsdateformatter-http-header/ (с некоторыми изменениями) для изменения строки заголовка Last-Modified в объект NSDate:

NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:[self NSDateFromRFC1123:lastModified]  ,NSFileModificationDate, nil];
NSError *errorFile;
if ([NSFileManager defaultManager] setAttributes:attrs ofItemAtPath:librarySQLGZipPath error: &errorFile])
{
NSLog(@"Set timestamp of file");
}
else {
NSLog(@"COULD NOT set timestamp of file");
}

Большое спасибо, Стивен!

7
задан Community 23 May 2017 в 12:33
поделиться