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

조회수 1759회

소스코드

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

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

text_file.close()

발생하는 문제 및 실행환경

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

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

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)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)