파이썬 뉴비입니다. 파일에 str타입을 쓰려면 어떻게 하면 될까요?
조회수 1658회
소스코드
apples = '헬로 월드!'
text_file = open("Output.txt", "w")
text_file.write("메세지 :", mystr)
text_file.close()
발생하는 문제 및 실행환경
print함수에서는 print("메세지 :", mystr)
같이 콤마로 구분하는게 됬었는데 write에서는 안되더라구요.
어떻게 하면 파일에 스트링타입을 쓸 수 있을까요?
1 답변
-
print와 write 둘 다 output인건 맞지만 쓰는 방법이 조금씩 다릅니다.
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)는 *objects에서 스트링(또는 다른 객체)을 여러 개 받는 게 가능하지만, write(s)는 스트링 타입 인자를 하나만 받기 때문입니다.
그래서 콤마로 구분하는 방식은 "인자가 여러 개"이기 때문에 write에서는 쓸 수 없습니다. 그래서 write할 때 두 스트링을 하나로 합쳐줘야 합니다. 대표적인 방법 몇 가지만 써놓겠습니다
형식 지정자
text_file.write("메세지 : %s" % mystr)
2.6이상에서 - str.format()
text_file.write("Purchase Amount: {0}".format(TotalAmount))
2.7이상에서 - 2.6의
{0}
대신{}
을 쓸 수 있습니다text_file.write("Purchase Amount: {}".format(TotalAmount))
3.x이상에서 - print함수로 파일에 출력하는 것이 가능합니다
print("Purchase Amount: {}".format(TotalAmount), file=text_file)
댓글 입력