본문 바로가기
파이썬

파이썬 문자열, 크로스 플랫폼에 줄 바꿈 추가

by º기록 2020. 11. 9.
반응형

내 응용 프로그램에서 일부 텍스트를 생성하고 있습니다. 텍스트가 더 큰 메시지의 일부이기 때문에 때로는 줄 바꿈을 추가해야 할 때가 있습니다.

NEWLINE = '\n'  # TODO: how to define this cross-platform? Can I use os.linesep?

def get_txt(add_newline=False):
    txt = 'Hello'
    if add_newline:
        txt += NEWLINE
    return txt

다음과 같이 사용할 수 있습니다.

def get_message():
    msg = get_txt(True)
    msg += get_txt(True)
    msg += get_txt(False)
    return msg

다음을 반환합니다.

Hello
Hello
Hello (no newline here)

교차 플랫폼 방식으로 NEWLINE 을 어떻게 정의 할 수 있습니까? 또는 더 나은 방법은 문자열에 줄 바꿈을 추가 할 수있는 표준 라이브러리 (또는 파이썬에 포함)에 함수가 있습니까? (인쇄 할 때 반드시 필요한 것은 아니며 메모리의 문자열에 개행 문자를 추가하기 만하면됩니다). 사용 된 줄 바꿈은 파이썬이 실행중인 플랫폼에 적합한 줄이어야합니다.

 

해결 방법

 

나는 항상 줄 바꿈을 나타 내기 위해 줄 바꿈 문자 '\ n'를 사용했지만 창은 줄 바꿈과 캐리지 리턴 문자를 사용하지만 Windows 컴퓨터 (python 3.4)에서 문자열을 작성하는 테스트를했습니다. 메모리에 기록한 다음 파일에 기록하는 반면, 메모리에는 단일 문자 ( '\ n')로 유지되지만 파일에 기록되면 두 문자로 변환되어 창에서 올바른 행으로 끝나게됩니다.
지금까지이 문제가있는 단일 라이브러리를 아직 발견하지 못했습니다.

 

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

 

 

반응형

댓글