반응형
내 응용 프로그램에서 일부 텍스트를 생성하고 있습니다. 텍스트가 더 큰 메시지의 일부이기 때문에 때로는 줄 바꿈을 추가해야 할 때가 있습니다.
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 gensim word2vec: Find number of words in vocabulary (0) | 2020.11.09 |
---|---|
파이썬 python3 pySerial TypeError : 유니 코드 문자열은 지원되지 않습니다. 바이트로 인코딩하세요. (0) | 2020.11.09 |
파이썬 Jupyter Notebook에서 작업 디렉토리를 변경하는 방법은 무엇입니까? (0) | 2020.11.09 |
파이썬 TensorFlow, 왜 파이썬이 선택된 언어입니까? (0) | 2020.11.09 |
파이썬 numpy 2d 배열에서 하위 배열을 어떻게 추출합니까? (0) | 2020.11.09 |
댓글