2014-12-08 4 views
-1

이 텍스트 파일을 사전으로 변환하고 싶지만 작동하지 않습니다. 사전에 텍스트 파일 만들기 PYTHON

def openspam(): 
    badwordsfile = open("FulaOrd0.txt","r", encoding="utf-8") 
    for words in badwordsfile: 
      d = {} 
      word, value = words.rstrip().split(None, 1) 
      d[word] = value 
    return d 

d = openspam() 

eggs 5 
spam 3 
cool 2 
yolk 3 
milk 5 

나는 "D"는, 쉘에있는 것을 확인합니다. { "우유": 5}를 얻고 싶습니다. { "계란": 5, "스팸": 3, "시원함": 2, "노른자": 3, "우유": 5}

누군가가 내가 잘못 한 일을 볼 수 있습니까?

+1

보면' – DRC

+1

단지 작은 비판을 d' : 벌거 벗은'open()'대신에'with '를 사용하는 것을 고려해야한다. 이것은 바로 [context manager] (http://effbot.org/zone/python-with-statement.htm)가 만들어진 것임. –

답변

5

이동 d = {}를 루프 밖에. 그렇지 않으면, 당신은 각 반복하는 동안 그 내용을 삭제하고 있습니다. 당신은 초기화 곳에서

def openspam(): 
    badwordsfile = open("FulaOrd0.txt","r", encoding="utf-8") 
    d = {} 
    for words in badwordsfile: 
      word, value = words.rstrip().split(None, 1) 
      d[word] = value 
    return d 

d = openspam() 
+0

너는 Gennius 너를 감사한다 –

+0

@EdwardSikorski 그것이 당신을 위해 일하면 케빈의 대답을 받아 들여야합니다. – Luigi

관련 문제