Heim >Backend-Entwicklung >Python-Tutorial >Einführung in das Codezeilen-Zähltool mit Python
Wir möchten oft die Anzahl der Codezeilen in einem Projekt zählen, aber wenn wir eine umfassendere statistische Funktion haben möchten, ist dies möglicherweise nicht so einfach. Heute werfen wir einen Blick auf die Verwendung von Python zum Implementieren eines Codezeilen-Zähltools.
Idee: Zuerst alle Dateien abrufen, dann die Anzahl der Codezeilen in jeder Datei zählen und schließlich die Anzahl der Zeilen hinzufügen.
Funktion implementiert:
Jedes zählen Die Anzahl der Zeilen in der Datei;
zählt die Gesamtzahl der Zeilen;
unterstützt die Angabe statistischer Dateitypen und schließt Dateitypen aus, die dies nicht tun möchte gezählt werden;
Rekursion
Zählen Sie die Anzahl der Dateizeilen in einem Ordner, einschließlich Unterdateien;
Ergebnis:# coding=utf-8 import os import time basedir = '/root/script' filelists = [] # 指定想要统计的文件类型 whitelist = ['php', 'py'] #遍历文件, 递归遍历文件夹中的所有 def getFile(basedir): global filelists for parent,dirnames,filenames in os.walk(basedir): #for dirname in dirnames: # getFile(os.path.join(parent,dirname)) #递归 for filename in filenames: ext = filename.split('.')[-1] #只统计指定的文件类型,略过一些log和cache文件 if ext in whitelist: filelists.append(os.path.join(parent,filename)) #统计一个文件的行数 def countLine(fname): count = 0 for file_line in open(fname).xreadlines(): if file_line != '' and file_line != '\n': #过滤掉空行 count += 1 print fname + '----' , count return count if name == 'main' : startTime = time.clock() getFile(basedir) totalline = 0 for filelist in filelists: totalline = totalline + countLine(filelist) print 'total lines:',totalline print 'Done! Cost Time: %0.2f second' % (time.clock() - startTime)Zählt nur PHP- und Python-Dateien, was sehr praktisch ist. Tatsächlich können Sie auf dieser Grundlage auch Verbesserungen vornehmen, z. B. das Ausschließen von
[root@pythontab script]# python countCodeLine.py /root/script/test/gametest.php---- 16 /root/script/smtp.php---- 284 /root/script/gametest.php---- 16 /root/script/countCodeLine.py---- 33 /root/script/sendmail.php---- 17 /root/script/test/gametest.php---- 16 total lines: 382 Done! Cost Time: 0.00 second [root@pythontab script]#Kommentarzeilen
usw.
Das obige ist der detaillierte Inhalt vonEinführung in das Codezeilen-Zähltool mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!