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를 눌러야한다는 점 때문에 좀 꺼려집니다..