profimp-生成导入配置文件树
profimp的Python项目详细描述
profimp允许您跟踪代码的导入。
应该使用这个库来简化代码中导入的优化。 至少你会发现什么消耗了大部分时间 正确的决定。
安装
profimp的安装非常简单:
sudo pip install profimp
或
git clone https://github.com/boris-42/profimp && cd profimp sudo python setup.py install
用法
语法:
profimp [import_module_line] [--html]
样品:
profimp "import collections" profimp "from somemoudle import something" prpfimp --html "import multiprocessing"
漂亮的HTML报告
如果使用–html键运行prpfimp,将获得漂亮的html输出
profimp "import collections"
原始json结果
在输出中,您将看到如下内容:
profimp "import collections" { "level": 0, "finished_at": 1427986324.921502, "import_line": "root", "duration": 1.0581016540527344, "started_at": 1427986324.920444, "children": [ { "level": 1, "finished_at": 1427986324.9215, "import_line": "import collections", "duration": 1.0390281677246094, "started_at": 1427986324.920461, "children": [ { "level": 2, "finished_at": 1427986324.920694, "import_line": "from _abcoll import *", "duration": 0.006198883056640625, "started_at": 1427986324.920688, "children": [] }, { "level": 2, "finished_at": 1427986324.920702, "import_line": "import _abcoll", "duration": 0.0019073486328125, "started_at": 1427986324.9207, "children": [] }, { "level": 2, "finished_at": 1427986324.920891, "import_line": "from _collections import deque, defaultdict", "duration": 0.1850128173828125, "started_at": 1427986324.920706, "children": [] }, { "level": 2, "finished_at": 1427986324.920899, "import_line": "from operator import itemgetter, eq", "duration": 0.00286102294921875, "started_at": 1427986324.920896, "children": [] }, { "level": 2, "finished_at": 1427986324.921064, "import_line": "from keyword import iskeyword", "duration": 0.16188621520996094, "started_at": 1427986324.920902, "children": [] }, { "level": 2, "finished_at": 1427986324.92107, "import_line": "import sys", "duration": 0.0021457672119140625, "started_at": 1427986324.921068, "children": [] }, { "level": 2, "finished_at": 1427986324.921402, "import_line": "import heapq", "duration": 0.3299713134765625, "started_at": 1427986324.921072, "children": [ { "level": 3, "finished_at": 1427986324.921241, "import_line": "from itertools import islice, count, imap, izip, tee, chain", "duration": 0.0040531158447265625, "started_at": 1427986324.921237, "children": [] }, { "level": 3, "finished_at": 1427986324.921246, "import_line": "from operator import itemgetter", "duration": 0.0021457672119140625, "started_at": 1427986324.921244, "children": [] }, { "level": 3, "finished_at": 1427986324.921391, "import_line": "from _heapq import *", "duration": 0.13899803161621094, "started_at": 1427986324.921252, "children": [] } ] }, { "level": 2, "finished_at": 1427986324.921409, "import_line": "from itertools import repeat, chain, starmap", "duration": 0.00286102294921875, "started_at": 1427986324.921406, "children": [] }, { "level": 2, "finished_at": 1427986324.921413, "import_line": "from itertools import imap", "duration": 0.0019073486328125, "started_at": 1427986324.921411, "children": [] }, { "level": 2, "finished_at": 1427986324.921455, "import_line": "from thread import get_ident", "duration": 0.03981590270996094, "started_at": 1427986324.921415, "children": [] } ] } ]