我有一个python应用程序,它依赖于客户从网站下载的文件.
该网站不在我的控制之下,并且没有API来检查该文件的"最新版本".
有没有一种简单的方法来访问文件(在python中)通过URL并检查它的日期(或大小),而不必每次都下载到客户端机器?
更新:感谢那些提到"最后修改"日期的人.这是要查看的正确参数.
我想我没有说好问题.我如何从python脚本执行此操作?我想申请检查文件,然后下载(如果(最后修改日期<当前文件日期)).
没有可靠的方法来做到这一点.如您所知,文件可以由Web服务器即时创建,并且"此文件的年龄"这个问题没有意义.网络服务器可以选择提供Last-Modified标头,但它可以告诉你它想要什么.
考虑到“最后修改”可能不存在:
>>>从urllib导入urlopen >>> f = urlopen('http://google.com/') >>> i = f.info() >>> i.keys() ['set-cookie','expires','server','connection','cache-control','date','content-type'] >>> i.getdate('date') (2009、1、10、16、17、8、0、1、0) >>> i.getheader('date') '2009年1月10日,星期六格林尼治标准时间 >>> i.getdate('last-modified') >>>
现在您可以比较:
如果(i.getdate('last-modified')或i.getheader('date'))> current_file_date: 打开('file','w')。write(f.read())