【问题标题】:How to read a file line by line and get a some string in each line in python如何逐行读取文件并在python的每一行中获取一些字符串
【发布时间】:2016-11-25 08:33:18
【问题描述】:

我正在尝试读取文本文件并打印文件中存在的字符串

文本文件(Test.txt):

Start_set
START: XYZ
PASS: True
PASS: True
PASS: True
END: XYZ
START: PQR
PASS: True
PASS :True
END: PQR
START: ABC
PASS: True
PASS :True
END: ABC
End_set

以下是python代码:

file = open('Test.txt','r')
text = file.read()
output = text.split('START:')[1].split("\n")[0]
print out

输出:

XYZ

但我想读取文件的每一行并将值“XYZ,PQR,ABC”打印为输出。我的代码只打印“XYZ”。我尝试使用 while 循环,但没有得到预期的输出。

提前致谢

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    您需要注意所有出现的START:

    解决方案:

    with open('Test.txt', 'r') as fp:
        for line in fp:
            if line.startswith('START:'):
               print(line.strip().split('START:')[1])
    

    输出:

     XYZ
     PQR
     ABC
    

    【讨论】:

    • @ssudake 如果我想输出“XYZ : PASS”我该怎么办?我应该使用 split('PASS')[0] 吗?
    • print("{0}: PASS".format(line.strip().split('START:')[1]))替换打印行
    • 但是 PASS 在这种情况下是不变的。如果我们有 FAIL: True。它应该打印 FAIL,但上面的代码将打印所有情况下的 PASS
    猜你喜欢
    • 2013-04-28
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    相关资源
    最近更新 更多