2015-05-15 27 views
-5

因此,为了实现不同的任务,我希望从命令文件中获取split()函数返回的列表数目。该文件,command.txt有如下条目:在python中获取由split()返回的“列表”的数量

ps -a 
free 

和代码,我想出了将其转换成列表,并获得名单的数量是:

with open('command.txt', 'r') as file: 
    #for i, v in enumerate(file): #I can get the line counts. 
    # pass 
    #print i+1 

    for line in file: 
     word = line.split() 
     print word 
     print len(word) 

这段代码的输出是:

[ 'PS', '-a']

[ '自由']

而是我想输出是仅有2.由于word具有2所列出,[ 'PS', '-a']和[ '自由'] 。任何人都可以请建议我如何修改或提出适当的代码。

+1

'split'与你想要完成的事无关;你正在尝试数线。 – user2357112

+0

嗯,我不想在文件中的行数,而是'line.split()'返回的计数' –

+2

这与您的问题不符。 –

回答

1

正如上面的评论所述,这听起来像你只是要求一个行数。由于您已经遍历文件,只需添加一个计数器:

n = 0 
with open('command.txt', 'r') as file: 
    for line in file: 
     word = line.split() 
     print word 
     n += 1 
print n 
2

您正在尝试计数行。办法做到这一点没有通过循环:

with open('command.txt','r') as file: 
    data = file.readlines() 
lines = len(data) 
print lines 

但是,你必须从所有除了最后的行删除“\ n”。

相关问题