파이썬 뉴비입니다. 파일에 str타입을 쓰려면 어떻게 하면 될까요?


소스코드

apples = '헬로 월드!'
text_file = open("Output.txt", "w")

text_file.write("메세지 :", mystr)

text_file.close()

발생하는 문제 및 실행환경

print함수에서는 print("메세지 :", mystr)같이 콤마로 구분하는게 됬었는데 write에서는 안되더라구요.

어떻게 하면 파일에 스트링타입을 쓸 수 있을까요?

  • 2016년 02월 12일에 작성됨

조회수 142


1 답변


좋아요
0
싫어요
채택취소하기

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)
  • 2016년 02월 12일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close