如何吐出给定文件中所需的行&我怎么算那个世界

时间:2017-04-25 07:56:08

标签: python split count append continue

打开文件mbox-short.txt并逐行阅读。当您找到以'From '开头的行时,如下所示:

'From stephen.marquard@uct.ac.za Sat Jan  5 09:14:16 2008'

您将使用split()解析From行并打印出该行中的第二个单词(即发送该消息的人的整个地址)。然后在最后打印出一个计数。

您可以在http://www.pythonlearn.com/code/mbox-short.txt

下载示例数据

我试过以下:

fname = input('enter file name:')
fhand = open(fname)
count = 0
for line in fhand:
    if not line.startswith('from '):
         continue
    line = line.rstrip()
    spl = line.split()
    count = count+1
print spl[1]

请告诉我这是错的。

1 个答案:

答案 0 :(得分:1)

您的代码存在一些小问题,例如缩进和拼写错误。除此之外,一切都很完美。

fname=input('enter file name:')
fhand=open(fname)
count=0
for line in fhand:
    if not line.startswith('From '): # change 'from' to 'From'
        continue
    line = line.rstrip()
    spl = line.split()
    count = count+1
    print(spl[1])  # Print every pattern matched, see it's within for loop

print("Total Persons:",count) # Print count
fhand.close()