2017-04-25 5 views
0

파일을 열고 각 문자열의 다섯 번째 문자를 연결하면 새 문자열의 각 문자가 중복됩니다. 이 문제를 어떻게 해결할 수 있습니까? 당신이 beginig에서 가지 공간과 최종 사용을 reamove하려면 제거 할 경우왜 내 코드가 여러 문자를 생성합니까?

def fifthchar(filename): 
     l="" 
     fin=open(filename, "r") 
     for line in fin: 
      line=line.strip() 
      line=str(line) 
      for i in line: 
       if len(line)>=5: 
        a=line[4] 
        l+=a 
     fin.close() 
     return l 

답변

0
def fifthchar(filename): 
    l='' 
    lines = [] 
    fin=open(filename, 'r') 
    all_lines = fin.read().decode("utf-8-sig").encode("utf-8") 
    lines = all_lines.splitlines() 
    line ='' 
    for line in lines: 
     line=str(line) 
     line=line.strip() 
     print line 
     if len(line)>=5: 
      a=line[4] 
      l+=a 
    fin.close() 
    return l 
if __name__ == '__main__': 
    print fifthchar("read_lines.txt") 

line = line.strip()

하여 문자열에서 모든 공백은 사용

line = line.replace(" ","")

이 줄 a 예상 한 BOM이 자동으로 제거됩니다. 이 도움이 될 것입니다

all_lines = fin.read().decode("utf-8-sig").encode("utf-8")

for details

희망.

0

그냥 따라이 불필요한 라인과 들여 쓰기를 제거 : 당신은 라인의 각 문자에 대한 연결을하고 있었다

for i in line: 

인해 이러한 이유에.