본문 바로가기
파이썬

파이썬 file.write에서 줄 바꿈을 억제합니다.

by º기록 2021. 1. 10.
반응형

텍스트 파일에 쓸 때 일부 file.write 인스턴스는 출력 파일에서 줄 바꿈이 뒤 따르고 나머지는 그렇지 않습니다. 줄 바꿈이 발생하도록 지시하는 경우를 제외하고는 줄 바꿈을 원하지 않습니다 . 암호:

    for doc,wc in wordcounts.items(): 
        out.write(doc)             #this works fine, no linebreak
        for word in wordlist: 
            if word in wc: out.write("\t%d" % wc[word]) #linebreaks appear
            else: out.write("\t0")                      #after each of these
        out.write("\n")        #this line had mixed spaces/tabs

내가 무엇을 놓치고 있습니까?

업데이트

코드를 어떻게 붙여 넣었는지에 대한 단서가 필요했습니다. 어떤 이유로 마지막 줄에 공백과 탭이 혼합되어 TextMate에서 시각적으로 "for word ..."루프 외부에 나타 났지만 인터프리터는이를 다음의 일부로 취급했습니다. 그 루프. 공백을 탭으로 변환하면 문제가 해결되었습니다.

귀하의 의견에 감사드립니다.

 

해결 방법

 

작성한 문자열에 \ n 이 포함되어 있지 않으면 file.write () 는 줄 바꿈을 추가하지 않습니다.

그러나 out.write ( "\ n") 를 사용하여 단어 목록의 각 단어에 대해 개행을 강제로 적용합니다. 그게 원하는 것입니까?

    for doc,wc in wordcounts.items(): 
        out.write(doc)             #this works fine, no linebreak
        for word in wordlist: 
            if word in wc: out.write("\t%d" % wc[word]) #linebreaks appear
            else: out.write("\t0")                      #after each of these
            out.write("\n") #<--- NEWLINE ON EACH ITERATION!

out.write ( "\ n") 를 너무 많이 들여 쓴 것 같습니다. ???

 

참조 페이지 https://stackoverflow.com/questions/1826400

 

 

반응형

댓글