2017-04-26 7 views
0

이 오류 메시지가 파이썬 3.6.1를 사용하고 점점 : 내 코드의이 부분에 관한파이썬 참고 EOFError

Traceback (most recent call last): 
    File "E:\Computing\CAU\task 3.py", line 72, in <module> 
    UniqueWords = pickle.load(MyFile) 
EOFError: Ran out of input 

을 :

`MyFile = open('SentencesCompression.txt', 'rb') 
UniqueWords = pickle.load(MyFile) 
UniqueWords2 = pickle.load(MyFile) 
WordPositions = pickle.load(MyFile) 
WordPositions2 = pickle.load(MyFile)` 
에서 볼 수있는 바와 같이

, 나는 몇 가지 절임을 다시로드하려고 데이터.

충분한 정보를 제공했으면합니다. 전체 코드의

페이스트 빈 : https://pastebin.com/4uEA8PcY

답변

0

당신은 이미 열린 파일을 읽고 및 위치 포인터는 파일의 끝입니다. 로드 할 것이 없으므로 Pickle은 아무 것도로드 할 수 없습니다. 당신이 정말로 같은 파일을 네 번로드해야하는 경우

,이 시도 :

with open('SentencesCompression.txt', 'rb') as MyFile: 
    UniqueWords = pickle.load(MyFile) 
with open('SentencesCompression.txt', 'rb') as MyFile: 
    UniqueWords2 = pickle.load(MyFile) 
with open('SentencesCompression.txt', 'rb') as MyFile: 
    WordPositions = pickle.load(MyFile) 
with open('SentencesCompression.txt', 'rb') as MyFile: 
    WordPositions2 = pickle.load(MyFile) 

운영자 with 파일이 제대로 닫혀 있는지 확인하는 데 사용됩니다.

+0

압축 또는 파일로드 대답? 2 또는 3 역 추적 (마지막으로 가장 최근 통화) = pickle.load (을 MyFile) 는 EOFError UniqueWords에서 "\ 컴퓨팅 \ CAU \ 작업 3.py E", 라인 (74) : 파일 뛰쳐 입력의 >>> 오류는 여전히 지속되지만 노력에 감사드립니다. 나는 그것이 피클로드 프로세스의 UniqueWords2 목록과 관련이 있다고 생각한다. – JoshuaG

0

pickle.load()이 어떻게 작동하는지 오해합니다.

data = pickle.load(MyFile) 
UniqueWords = data[0] 
UniqueWords2 = data[1] 
# ... etc. 

당신이 (pickle.dump()와) 절인 데이터 목록이라고 가정하면

당신은 아마 좀 더 뭔가를 원한다. 사전에 절인 경우 키/값 쌍의 압축을 풀어야합니다.

절인 (또는 JSON) 데이터를로드하는 방법을 배우는 가장 좋은 방법은 코드를 덤프하는 코드를 읽는 것입니다. 단어 #Compress #LOAD 얼마나 많은 문장은 압축 않았다 부하

+0

제안에 감사하지만 오류는 여전히 지속된다. – JoshuaG

+0

가능한 경우이 * SentencesCompression.txt * pickle 파일을 만드는 코드의 최소 스 니펫을 게시한다. 실패하면 *'>>>'* 인터프리터 프롬프트에서'data = pickle.load (MyFile)'을 수행하고'dir()'과 다른 인트로 스펙 션 기능을 사용하여 데이터 구조를 탐색하면 추출 방법을 알아낼 수 있습니다 당신이 사용하려는 부분. –

+0

안녕하세요, Jim, 문제를 해결할 때 스레드를 삭제하려고했습니다. 코드가 작성한 파일을 검사했는데 어떤 이유로 그것이 비어있었습니다. 스크립트 저장을 다른 폴더로 옮기고 압축 프로세스를 다시 시도했습니다. 그것은 다시 쓰기 시작하고 코드를 실행했을 때 오류가 멈췄습니다. 도움을 주셔서 감사합니다 – JoshuaG