2014-01-15 4 views
1

Я нашел этот вопрос в учебнике, чтобы написать код, чтобы подсчитать количество строк программы, запустив его.подсчет строк программы в python

Это то, что у меня есть:

import commands,os,sys 

def count_lines(modul): 
    cmd="wc -l " + modul +" | awk '{print $1}'" 
    return commands.getoutput(cmd) 


if __name__=='__main__': 
    print count_lines(sys.modules[__name__].__file__) 

Это похоже на работу, но я не уверен, если это правильный способ сделать. Я думал, что это проще.

+3

Вы не действительно пишу там Python. Вы пишете сценарий оболочки в оболочке Python. – user2357112

+0

'wc -l" file "| awk '{print $ 1}' 'будет работать без python. –

+0

@ user2357112: Я согласен; но большинство функций python являются оболочками 'C'. исправьте меня, если я ошибаюсь ..? – eagertoLearn

ответ

3

print "I AM %d LINES LONG"%len(list(open(__file__))) просто положить, что в любой файл ...

если вы настаиваете на закрытии файла (в то время как хорошая привычка, не надо в Cython особенно когда только чтение)

with open(__file__) as f: 
    print "I AM %d LINES LONG"%len(list(f)) 
+0

'len (открыть (__ файл) .read())'? – aIKid

+0

вам это не нужно ... и это будет readlines, я думаю ... но по умолчанию он будет перебираться в список правильно? –

+0

Нужно ли считать строки файла этой строки? это будет работать? – eagertoLearn

Смежные вопросы