2017-04-01 4 views
1
from six.moves.urllib.request import urlopen, urlretrieve, urlrequest 

conn = urlopen('ftp://ftp.cdc.noaa.gov/Datasets/ncep.reanalysis.dailyavgs/surface/lftx.sfc.2017.nc', timeout=20) 
last_modified = conn.headers['last-modified'] 

Suivant How can I get the last-modified time with python3 urllib? Je souhaite obtenir la date de dernière modification d'un fichier sur un serveur FTP. Cependant, avec le code ci-dessus, last-modified est None. Aucune suggestion? Je veux que la solution fonctionne sur python 2 et python 3Obtenir la dernière date de modification du fichier sur le serveur FTP en utilisant urlopen ne fonctionne pas

Répondre

1

Le documentation of urlopen ne prétend pas qu'il renvoie last-modified pour les URL FTP.

Notez qu'il n'y a pas d'en-têtes dans le protocole FTP. Le urlopen fausse juste quelques en-têtes de type HTTP pour une sorte de compatibilité de l'interface entre les protocoles.

Pour récupérer l'horodatage à l'aide de FTP, utilisez ftplib. Voir How to get FTP file's modify time using Python ftplib.