2017-07-28 61 views
2

我目前正在使用Jupyter ipython筆記本和我正在使用的文件有很多代碼。我只是好奇到底有多少行代碼在我的文件中。由於我已將代碼分成許多不同的塊,因此很難算。如何統計jupyter筆記本中的代碼行

對於有jupyter筆記本經驗的人,你如何計算文件中有多少行代碼?

謝謝!

編輯:我已經想出瞭如何做到這一點,雖然在一個相當晦澀的方式。具體方法如下:將jupyter筆記本下載爲.py文件,然後使用Xcode等軟件或您使用的任何IDE打開.py文件,然後統計代碼行數。

+0

您可以指定空白行或註釋是否與總數相關,也可以指定您嘗試的操作 – PRMoureu

+0

您可以使用CTRL + ML在Jupyter Notebook中顯示行編號:https://stackoverflow.com/questions/ 10979667 /顯示行數在ipython-jupyter筆記本 –

+0

是的,我有行號顯示,但我想統計我的文件(包括評論和空行)的總行數。 – Cynthia

回答

4

這會給你LOC在您通過命令行傳遞給腳本的一個或多個的筆記本電腦總數:

#!/usr/bin/env python 

from json import load 
from sys import argv 

def loc(nb): 
    cells = load(open(nb))['cells'] 
    return sum(len(c['source']) for c in cells if c['cell_type'] == 'code') 

def run(ipynb_files): 
    return sum(loc(nb) for nb in ipynb_files) 

if __name__ == '__main__': 
    print(run(argv[1:])) 

所以你可以做這樣的事情$ ./loc.py nb1.ipynb nb2.ipynb才能得到結果。