2012-05-17 6 views
2

대화 창에서 가져온 입력을 기반으로 텍스트 문서에 세 줄로 쓰려고합니다. 나는 이것이 간단한 수정이라고 확신하지만 세 줄을 별도의 줄로 쓸 수는 없다. 누군가이 코드 비트가 잘못된 점을 알려주시겠습니까?파일 읽기 및 쓰기 python

file = open('file.txt', 'wb') 
file.write('input1') 
file.write('input2') 
file.write('input3') 

입력은 다른 라인에 있어야하지만 대신에 그들은으로 나올이 시도

input1 
input2 
input3 

답변

8

:

file = open('file.txt', 'wb') 
file.write('input1\n') 
file.write('input2\n') 
file.write('input3\n') 

당신은

input1input2input3 

대신 개행 문자 추가 '\n'을 눌러 다음 줄로 이동하십시오. 당신이 with 구조를 사용하는 경우

, 그것은 자동으로 파일을 닫습니다 :

with open('file.txt', 'wb') as file: 
    file.write('input1\n') 
    file.write('input2\n') 
    file.write('input3\n') 

을 또한, file 대신에 다른 변수 이름을 사용하는 것이 좋습니다.

+1

다른 하나는 맘에 들지 않지만 상당히 일반적이며'print >> file, 'input1'' –

2

당신의 문제는 당신이 개행을 포함하지 않았다는 것입니다. Python이 타자기처럼 출력된다는 사실을 기억하십시오. 새로운 행으로 이동한다고 말하지는 않을 것입니다. 개행을 작성하는 방법은 \n입니다.

그래서,

file.write('\n'.join([input1, input2, input3])) 

그것을 할 것인가.