2010-03-30 18 views
6

Próbuję czytać w poniższym tekście z wiersza polecenia w Pythonie 3 (dosłownej nowej linii i wszystkie):Python 3: odbierać dane wprowadzone przez użytkownika w tym nowej linii znaków

lcbeika 
rraobmlo 
grmfina 
ontccep 
emrlin 
tseiboo 
edosrgd 
mkoeys 
eissaml 
knaiefr 

Korzystanie input, I może czytać tylko w pierwszym słowie, gdy przeczyta pierwszy znak nowej linii, który przestaje czytać.

Czy istnieje sposób, w jaki można w nich przeczytać wszystkie bez konieczności wywoływania numerycznie input?

Odpowiedz

10

Można import sys i użyć metod na sys.stdin na przykład:

text = sys.stdin.read() 

lub:

lines = sys.stdin.readlines() 

lub:

for line in sys.stdin: 
    # Do something with line. 
-1

jeśli przechodzą tekst do skryptu jako plik możesz użyć readlines()

np

data=open("file").readlines() 

lub użyć fileinput

import fileinput 
for line in fileinput.input(): 
    print line 
+0

Czytam go z linii poleceń, nie przekazując tekst jako plik. –

+0

następnie użyj drugiej metody – ghostdog74

Powiązane problemy