Python implementiert die Funktion des Codezeilen-Zähltools (Beispiel)

不言
Freigeben: 2018-11-23 17:12:11
nach vorne
2043 Leute haben es durchsucht

In diesem Artikel geht es um die Funktion (Beispiel) der Python-Implementierung des Codezeilen-Zähltools. Ich hoffe, dass es für Sie hilfreich ist.

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 werden wir einen Blick darauf werfen wie man mit Python ein Tool zum Zählen von Codezeilen implementiert.

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 gezählt werden soll;

Rekursiv die Anzahl der Dateizeilen in einem Ordner zählen, einschließlich Unterdateien;

# 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)
Nach dem Login kopieren

Ergebnis:

[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]#
Nach dem Login kopieren

zählt PHP- und Python-Dateien, sehr praktisch.

Tatsächlich können Sie auf dieser Grundlage auch Verbesserungen vornehmen, wie z. B. das Ausschließen von Kommentarzeilen usw.

Das obige ist der detaillierte Inhalt vonPython implementiert die Funktion des Codezeilen-Zähltools (Beispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!