2014-11-21 3 views
0

내 코드는 작동하지만 약간의 결함이 있으며 해결할 수없는 것 같습니다. 내 코드는 다음과 같습니다TextFile 사전에

def Identifierare(): 
    File = open("FulaOrd.txt","r", encoding="utf-8") 
    for line in File: 
       if line.strip(): 
        Dict = {} 
        key, value = line.split(None, 1) 
        Dict[key] = value 
        print(Dict) 

Identifierare() 

내 결과는 내가 백 슬래시 N을 빼앗아 어떻게

{'debt': '3\n'} 
{'income': '2\n'} 
{'mortgage': '2\n'} 
{'sale': '2\n'} 

입니까? 원래 TEXTFILE에서 말씀이 부채 3 소득 2 모기지 2 판매와 같은 2 개

감사 무리 기록됩니다!

+0

오, 그것이 파이썬임을 알리는 것을 잊었습니다! –

+0

'line.rstrip(). split()' –

답변

2

line을 분할하는 대신 line.strip()을 분할하여 캐리지 리턴과 다른 공백을 먼저 제거해야합니다.

+0

흠, 지금 시도해 봤지만이 오류가 발생했습니다. TypeError : strip()은 최대 1 개의 인수 (주어진 값 2)를 사용합니다. –

+0

하지만 지금은 해결할 수있었습니다. .strip.split (None, 1)을 사용해 보았는데 효과가있었습니다. 제안에 큰 감사드립니다! –

0

간단한 대답은 라인을 분할하기 직전에 rstrip 함수를 사용하여 문자열 오른쪽의 공백 문자 (줄 바꿈 포함)를 자르는 것입니다.

key, value = line.rstrip().split(None, 1) 
+0

오 천재! 감사 :) –