2012-06-02 2 views
1

자, 그럼 기본적인 파이썬 질문. html (txt) 파일의 텍스트를 대체하는 간단한 스크립트가 있습니다. 나는 약간의 코드를 작성했고 xhtml 코딩을 가지고있는 개행 HTML을 넣었다. 그래서 나는 정규식 개행 HTML로 xhtml 코딩 버전을 대체하기 위해 파이썬 스크립트를 작성하려고 시도했다. 때로는 코드를 실행할 때 제대로 작동하지만 때로는 파일을 다시 쓰고 끝에는 마지막 두 문자가 개행 후에 반복됩니다. OS X Lion에서 2.7을 실행 중입니다. 나는 ('에 foo.txt'를 말한다) 파일로 실행하면 내용이 너무파이썬 파일 in-out 마지막 세 문자 추가

import sys 
import re 

def replace_text(filename): 
    with open(filename, 'r+') as f: 
     p = re.compile('(</br>|<br/>|<br />)') 
    f_data = open(filename, 'r+').read() 
    f.write(p.sub('<br>', f_data)) 
    f.close() 

def main(): 
args = sys.argv[1:] 

if not args: 
    print 'usage: [--summaryfile] file [file ...]' 
    sys.exit(1) 

summary = False 

if args[0] == '--summaryfile': 
    summary = Trye 
    del args[0] 

for filename in args: 
    replace_text(filename) 

if __name__ == '__main__': 
main() 

:

</br> <br/> <br /> <br> poop 

때로는 출력을 : 여기에 코드입니다

<br> <br> <br> <br> poop 

때로는 다음을 출력합니다 :

<br> <br> <br> <br> poop 
op 

huh? 파이썬에서 OS X Lion 사용하기 2.7. 나는 간단한 것을 놓치고있다? 또한 Gedit 3.2.6을 편집기로 사용합니다. 어떤 도움이 필요합니까?

답변

1

파일의 내용은 줄이지 만 길이는 줄이지는 않습니다. 폐업하기 전에 .truncate()을 통해 잊지 마십시오.

+0

큰 성공입니다. 정말 고맙습니다! 또한 여기에 들여 쓰기 오류를 용서해주십시오. 코드는 들여 쓰기가 쉽지만 Win7을 통해 OS X Lion을 가상화하고 있습니다. 완벽하지 않아서 키보드 명령을 가져 오는 데 어려움이 있으며 양식에 코드를 복사하는 것을 망쳤습니다. 나는 또한 새로운 (분명히 나의 명성에서) stackoverflow입니다. 하지만 멍청한 실수를 저지르기 엔 넌 대단해. 감사. – jonc