2011-09-09 3 views
-3

이전 게시물에서 몇 가지 사항을 변경 한 후 다시 게시합니다. 이전에 제안을 한 모든 사람들에게 감사드립니다. 나는 아직도 문제가있다.Python : 파일에서 특정 문자열 삭제

특정 문자열 목록 (문자열 삭제)을 제거해야하는 데이터 파일 (구조화되지 않은 파일)이 있습니다. 여기

내가 일을하지만,하고 무엇인가 어떤 결과 :

infile = r"messy_data_file.txt" 
outfile = r"cleaned_file.txt" 

delete_list = ["firstname1 lastname1","firstname2 lastname2"....,"firstnamen lastnamen"] 

fin = open(infile,"") 
fout = open(outfile,"w+") 

for line in fin:  
    for word in delete_list:   
     line = line.replace(word, "")  

    fout.write(line) 

fin.close() 
fout.close() 

내가 파일을 실행하면, 나는 다음과 같은 오류 얻을 : 나는 당신의 오류를 복제 할 수없는거야

NameError: name 'word' is not defined 
+1

코드가 실제로 들여 쓰기가되지 않습니까? 그건 다른 오류 메시지를 기대하지만 파이썬에서는 작동하지 않습니다. – geoffspear

+0

들여 쓰기가 파이썬 스크립트에서 꽤 이상합니다. 확실합니까? (복사/붙여 넣기 코드를 여기에 누른 다음 Ctrl + K 코드로 서식을 지정하십시오) –

+0

파이썬은 공백을 구분하고 실행중인 내용을 알기가 어렵 기 때문에 코드를 실행하는 그대로 그대로 형식을 지정해야합니다 코드를 게시했습니다. –

답변

1

을; 귀하의 코드와 함께 오류는 빈 모드 문자열입니다 - "r"을 입력하거나 삭제하십시오. 기본값은 읽기입니다.

Traceback (most recent call last): 
    File "test.py", line 6, in <module> 
    fin = open(infile, "") 
ValueError: empty mode string 

그렇지 않으면 괜찮아 보입니다.