在python中使用.split()方法

时间:2013-07-05 19:50:59

标签: python string methods split newline

我正在从文本文件中获取输入并尝试在文本遇到“\ n”字符时拆分文本,但它不会拆分任何内容。我在标签和空格上尝试过它,效果很好。由于某种原因,它不适用于换行符。它与我获取字符串的方式有关吗?我正在将文件传送到程序中。当我给出相同的代码行时,试试IDLE它可以正常工作。

t= input("input string : " )
...


tps = t.split('\n')
print(tps)

2 个答案:

答案 0 :(得分:3)

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 :

答案 1 :(得分:0)

要在换行符上拆分多行字符串,通常会使用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()