我必须打印出列表的第二个元素以及计数。但是我的输出显示的是实际数据元素数量的两倍。该怎么办?
必需输出(计数) - > 27
我的输出(计数) - > 54
示例数据:
http://www.pythonlearn.com/code/mbox-short.txt
fname = raw_input("Enter file name: ")
fh = open(fname)
count = 0
lst=list()
for line in fh:
if line.startswith('From'):
data=line.split()
print data[1]
count=count+1
print "There were", count, "lines in the file with From as the first word"
1 个答案:
答案 0 :(得分:0)
您正在尝试匹配From,结果为54.尝试匹配From:并使用open结构:
fname = raw_input("输入文件名:")
使用open(fname,' rb')作为fn:
count = 0
lst = []
对于fn中的行:
如果line.startswith(' From:'):
print line.split()[1]
count + = 1
打印"文件中有",count,"行,其中From为第一个单词"
你正在做的事情有一个较短的版本:
fname = raw_input("输入文件名:")
使用open(fname,' rb')作为fn:
l = [line.split()[1]表示fn中的行,如果是line.startswith(' From:')]
打印" \ n" .join(l)
打印"文件中有",len(l),"行,其中From为第一个单词"