Python 如果超过1天,则基于上次修改日期下载文件失败

Python 如果超过1天,则基于上次修改日期下载文件失败,python,datetime,time,python-requests,Python,Datetime,Time,Python Requests,下面是一段代码片段,它根据服务器和本地服务器之间上次修改的日期下载一个文件 try: url = "https://10.10.10.10/version.ini" local_ini = ".//config/version.ini" filetime = (time.strftime('%a, %d %b %Y %X GMT', time.gmtime(os.path.getmtime(local_ini)))) print("File Last Modifi

下面是一段代码片段,它根据服务器和本地服务器之间上次修改的日期下载一个文件

try:
    url = "https://10.10.10.10/version.ini"
    local_ini = ".//config/version.ini"
    filetime = (time.strftime('%a, %d %b %Y %X GMT', time.gmtime(os.path.getmtime(local_ini))))
    print("File Last Modified: {0}".format(filetime))
    r = requests.get(url,stream=True)
    meta = r.headers['last-modified']
    logging.info("Web  Last Modified: {0}".format(meta))
    if filetime < meta:
        print("Newer file found! Downloading...")
        if r != False:
            try:
                fileName = os.path.basename(urlparse.urlsplit(r.url)[2])
                with open(".//config/version.ini"e, 'wb') as f:
                     shutil.copyfileobj(r.raw,f)    
            finally:
                r.close()
    else:
        logging.info('No new version found. You got the latest file!') 

except requests.exceptions.RequestException as e:  
    logging.info(e)    
但是当我修改一个文件时,一天后我得到了错误的结果:

File Last Modified: Wed, 11 Jan 2017 08:38:38 GMT
Web  Last Modified: Thu, 12 Jan 2017 02:44:45 GMT
No new version found. You got the latest file!

为什么时间戳比较给出了错误的结果?

在您的示例中,meta是一个字符串,而不是
time
对象。如果比较两个
datetime
对象,您的运气会更好:

if (dt.datetime.strptime(filetime, '%a, %d %b %Y %X GMT') < 
        dt.datetime.strptime(meta, '%a, %d %b %Y %X GMT')):

我得到了TypeError:参数必须是9项序列,而不是strI误读了您的代码,我编辑了示例以使用datetime对象。
if (dt.datetime.strptime(filetime, '%a, %d %b %Y %X GMT') < 
        dt.datetime.strptime(meta, '%a, %d %b %Y %X GMT')):
 import datetime as dt