繁体   English   中英

Python。 从 HTTP 服务器获取文件日期和时间(时间戳)

[英]Python. Get file date and time (timestamp) from HTTP server

我需要使用 Python 程序从 HTTP 服务器下载文件,同时保留文件创建的原始时间戳。

因此,有两个问题:

  1. 如何使用 Python 3.7 从 HTTP 服务器获取文件日期?
  2. 如何为下载的文件设置此日期?

您可以查看下载文件的请求并从标题中获取修改日期。

要设置日期,您可以使用os.utimeemail.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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM