파일 이름을 문자열로 사용하고 파일을 열고 읽은 다음 "XXXX"로 파일의 각 4 자 단어를 변경하는 새 파일을 작성하는 함수를 작성하려고합니다.대체 된 출력으로 파일을 변경하는 방법은 무엇입니까?
지금까지 내가 가진 :
def change(filename):
infile = open(filename,'r')
outfile = open('changed.txt', 'w')
l = infile.read()
infile.close()
x = l.split()
for word in x:
if len(word) == 4:
outfile.replace(word,'XXX')
내가 내 if 문에서 출력을 망치는거야라고 생각하지만, 나는이 문제를 해결하는 방법을 모르겠어요. 내가 가진 (내가 'example.txt'라고했다) 내 파일에서
가 내 출력 파일에
"이 파일 3 ~ 4 글자 단어를 포함" "changed.txt"나는 얻어야한다 "XXXX XXXX를 세 개의 XXXX 문자가 포함되어 있습니다. "
읽어 내기 전에'infile()'을 닫아서는 안됩니다. –
'infile'과'outfile'은 파일 객체입니다; 하나를 읽고 다른 하나에 데이터를 써야합니다. '.replace()'와'.split()'은 문자열 메소드이므로 파일에는 사용할 수 없습니다. –
@TimPietzcker 파일을 닫기 전에 l = infile.read()를 추가하여 편집했습니다. 이 올바른지? – M15671