Python. Получить дату и время файла (временную метку) с HTTP-сервера - PullRequest
0 голосов
/ 12 ноября 2019

Мне нужно использовать программу Python для загрузки файла с HTTP-сервера, сохраняя при этом исходную метку времени создания файла.

Соответственно, два вопроса:

  1. Какполучить дату файла с HTTP-сервера, используя Python 3.7?
  2. Как установить эту дату для загруженного файла?

1 Ответ

2 голосов
/ 12 ноября 2019

Вы можете просмотреть запросы , чтобы загрузить файл и получить дату изменения из заголовков.

Чтобы установить даты, вы можете использовать os.utime и email.utils.parsedate для разбора даты из заголовков (см. ответ от tzot).

Вот пример:

import datetime
import os
import time
import requests
import email.utils as eut


url = 'http://www.hamsterdance.org/hamsterdance/index-Dateien/hamster.gif'
r = requests.get(url)
f = open('output', 'wb')
f.write(r.content)
f.close()
last_modified = r.headers['last-modified']
modified = time.mktime(datetime.datetime(*eut.parsedate(last_modified)[:6]).timetuple())
now = time.mktime(datetime.datetime.today().timetuple())
os.utime('output', (now, modified))
...