import sys
for line in sys.stdin.read() :
numbers = line.split()
print numbers
저는 split()을 파이썬으로 사용할 때 무슨 일이 일어나는지 알아 내려고했습니다. 인자를 사용하지 않고 읽은 것을 바탕으로, 공백으로 나뉘며 줄을 문자열 목록으로 나눕니다. 나는이 코드 (작은) 조각을 실행하면 는python에서 stdin에 split()을 사용하려고 시도했습니다.
1 100
2 32
3 76
유사한 입력을 (더 큰 프로그램에서 잘못된 무슨 일이 일어나고 있는지 알아 내려고 시도하려면이 옵션을 사용하여) 내가 얻을 :
['1']
[]
['1']
['0']
['0']
[]
['2']
[]
['3']
['2']
[]
['3']
[]
['7']
['6']
[]
I을 ('')를 포함하여 split()에서 두 개의 인수를 시도했으며 각 요소를 개별 문자로 분할하는 이유를 알아낼 수 있는지 알아보기 위해 인수도 사용하지 않았습니다 ('\ n'). 또한 한 줄에 두 개의 단어를 입력 해 보았는데 비슷한 결과가 나왔습니다.
내 질문은 : 왜 이것이 공백이 아닌 각 문자 뒤에 나뉘어지는 것입니까?
문제가 문제가'문제가 있음을 split'되지 않는 문자 –
에 의해 입력 문자를 읽고 분할되지 않습니다
수정은 선으로 선을 산출하는
stdin
에 반복된다. 문자열 인'read()'의 * 결과 *를 반복합니다. 그래서 캐릭터를 반복합니다. –아, 그건 훨씬 의미가 있습니다. 나는 실제로 그것을 위의 줄 다음에 인쇄 했으므로 이제 볼 수 있습니다. 입력을 처리하기 위해 read() 이외의 다른 것을 찾아야 할 것이다. 나는 read()를 없애고 이것이 올바른 방향으로 가고 있다고 생각한다. – sjtlgs