편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2018.06.21

    python에서 개행이 들어간 문자열 입력 방법이 궁금합니다.


    python에서 raw_input()을 통해 문자열 입력을 받고자 합니다. 다만 입력받는 문자열이 여러개의 개행이 들어가있습니다.

    예를 들자면 아래와 같습니다.

    string = raw_input("hex code : ")
    

    입력 문자열


    01 | string1

    02 | string 2

    03 | string 3

    ...

    25 | string25


    이런식입니다.

    여기서 출력을 하게 되면 디버깅을 해봐도 string에는 00|string1이라는 문자열만 있을 뿐입니다.

    제가 예상하기로는 00|string1\n01|string2 ... 이런식인데말이죠..

    그래서 개행문자를 지우는 방법등이 안먹힙니다.

    나름대로 찾아낸 방법 중 하나는 여러번의 raw_input()을 쓰는 방법입니다. 다만 이것도 몇 줄짜리를 입력받을지를 모르니 쓰기가 애매하구요.

    string1 = raw_input()
    string2 = raw_input()
    string3 = raw_input()
    ...
    string25 = raw_input()
    

    이런 방법을 쓰면 각 string변수에 문자열이 한 줄 한 줄 입력되어있긴합니다. 하지만 앞서 말했듯이 몇 줄짜리가 입력될지를 모르므로 쓰기가 애매합니다.

    입력 받을때 개행을 지울 수 있는 특별한 방법이 있을까요?

    제가 생각하는 가장 이상적인 방법은 각 리스트별로 문자열 한줄씩 입력되는 방법입니다만.. 꼭 이 방법이 아니어도 됩니다.(string[0] = 01|string1, string[1] = 02|string2 ....)


    import sys
    string = sys.stdin.readlines()
    

    위의 방법으로 받으면 '\n'까지를 다 표시해주니 입력을 받을 수 있긴합니다만.. 입력의 종료를 엔터가 아닌 Ctrl+d를 눌러야한다는 점 때문에 좀 꺼려집니다..