我正在从文本文件中获取输入并尝试在遇到“\n”字符时拆分文本,但它不会拆分任何内容。我在制表符和空格上试过了,效果很好。由于某种原因,它不适用于换行符。它与我获取字符串的方式有关吗?我正在将文件传送到程序中。当我在 IDLE 上尝试相同的代码行时,它工作正常。
t= input("input string : " )
...
tps = t.split('\n')
print(tps)
input()
只读取一行。您需要循环运行它,一次读取一行:
try:
while True:
t = input("input string : " ) # Or raw_input for Python 2
print t.replace('e', 'X')
except EOFError:
pass
运行该示例python x.py < x.py
并打印:
input string : try:
input string : whilX TruX:
input string : t = raw_input("input string : " )
input string : print t.rXplacX('X', 'X')
input string : XxcXpt EOFError:
input string : pass
input string :
为了在换行符上拆分多行字符串,您通常会使用str.splitlines()
它来处理不同的换行符约定:
>>> 'Test\r\nlines\nall mixed\r'.splitlines()
['Test', 'lines', 'all mixed']
请注意,在任何情况下input()
都只会给您第一行;对于多行输入,您可能希望从中读取sys.stdin
:
for line in sys.stdin:
# handle a line
或循环读取行:
while True:
line = input()