如何打印文本文件的行如果分号在末尾

我有一个文本文件。如何打印文本文件的行如果分号在末尾

Test.txt的

this is line one; this line one 

this is line two;

this is line three

我想打印含有分号线,但分号应该是行的末尾。

我的代码

search = open("Test.txt","r") 

for line in search :

if ";" in line:

semi = line.split(";")

if semi[-1] == "\n":

print(line)

输出

this is line two; 

我的代码工作正常,但我希望有一个更好的方式来做到这一点。 任何人都可以告诉我简短和最pythonic的方式来做到这一点?

回答:

可以肯定它容易

for line in search : 

if line.endswith(';\n'):

print(line)

而作为@IMCoins注意,最好使用上下文管理with关闭您的文件,你就大功告成了工作时:

with open("Test.txt","r") as test_file: 

for line in test_file:

if line.endswith(';\n'):

print(line)

回答:

在第一次使用的with关键字打开文件:

with open('foo.txt', 'r') as f: 

for line in f:

if ';' in line:

semi = line.split(';')

if semi[-1] == '\n':

print line

对我来说,它是在您使用内置函数时已经大部分是pythonic,使用for循环。

回答:

if line[:-2] == ';\n': 

print(line)

正常工作的Python 2 也适用,如果线只是一个 '/ N'

以上是 如何打印文本文件的行如果分号在末尾 的全部内容, 来源链接: utcz.com/qa/261664.html

回到顶部