urllib2.urlopen
을 사용하여 파일을 가져 오는 python 스크립트가 있습니다. 기본적 흐름은 다음과 같습니다 자사가 수정 된 경우 if-not-modified
헤더 파일에 대한이 파일이 파일 시스템에 쓰지 않는 이유
보면, 거기에 물건을 할 파일 시스템
없는 경우에 그것의 사본을 쓰기는 잡아 스크립트가 이렇게 실행 된 그 처음이 수정되지 않은 로컬 복사본 및가없는 경우 우리가 이전 요청에 저장하고
- 에 물건을 할 파일의 로컬 복사본을 복사 우리 같은 것을 만들 필요가있다. 예상대로 마지막 부분에 대해 로컬 뿐만 아니라
코드를 복사없이 if-not-modified
헤더 및 저장과 요청이 작동하지 않습니다.
except IOError, e:
#This is the first attempt to download the file.
pathWithNoHeader = ROOT_PATH + uri
requestWithNoHeader = urllib2.Request(pathWithNoHeader)
sourcefileWithNoHeader = urllib2.urlopen(requestWithNoHeader)
document = ET.parse(sourcefileWithNoHeader)
dir = os.path.dirname(__file__)
statefile = open(os.path.join(dir, STATE_FILES) + uri, 'w+')
statefile.write(sourcefileWithNoHeader.read())
statefile.close()
이 성공적으로 실패 파일 (내가 노력하고있어 다른 물건이이 성공하여 정보와 함께 할 얻었 기 때문에 내가 아는)하지만 시스템 파일에 파일을 쓰기를 가져 : 아래의 3 경우 처리하는 코드를 볼 수 오류없이. 기본적으로 파일은 생성되었지만 비어 있습니다. 나는 Python을 처음 접했고 (몇 달), 나는 완전히 당황 스러웠다. statefile.write(sourcefileWithNoHeader.read())
은 범인과 같지만 다른 종류의 코드에서 동일한 종류의 코드가 작동합니다. 내가 잘못 아니에요 경우
document = ET.parse(sourcefileWithNoHeader)
은 요소 트리를 호출입니다 : 어떤 도움도 문제가 먼저 호출 있다는 것입니다
당신이 시도해 봤어 구문 분석하기 전에
StringIO
에 내용을 저장 해결하기 위해'읽기 전에'sourcefileWithNoHeader.seek (0)'()'을 보내고? – Bakuriu. 나 지금 그걸 시도하자. – Brad