2011-02-16 5 views
9

내가 python3에 python2에서 program of mine을 통해 포팅하고있어, 나는 다음과 같은 오류 타격 해요 : 여기 AttributeError: 'HTTPMessage' object has no attribute 'getdate'python3 urllib을 사용하여 마지막으로 수정 한 시간을 얻으려면 어떻게해야합니까?

코드입니다 :

conn = urllib.request.urlopen(fileslist, timeout=30) 
last_modified = conn.info().getdate('last-modified') 

이 섹션에서는 파이썬 2.7에서 일했으며, 지금까지 내가 파이썬 3.1에서이 정보를 얻는 올바른 방법을 찾을 수 없었습니다.

전체 컨텍스트는 업데이트 방법입니다. 서버의 파일이 로컬 파일보다 최신 인 경우에만 새 파일을 서버에서 로컬 데이터베이스로 가져옵니다. 로컬 및 원격 파일 타임 스탬프를 비교하는 것보다 더 똑똑한 방법으로이 기능을 구현할 수 있다면 나도 마찬가지입니다.

답변

12

conn.headers['last-modified']은 파이썬 2와 파이썬 3 모두에서 작동합니다. 필라멘트 비교는 나에게 맞는 것처럼 보입니다.

+0

감사합니다. – Daenyth

+3

또한 헤더는 문자열을 반환하지만 이전 메서드는'struct_time' (또는 비슷한)을 반환했습니다. 'time_struct = time.strptime (last_modified, '% a, % d % b % Y % H : % M : % S % Z')' – Daenyth

관련 문제