美文网首页
Python开发必备库与工具

Python开发必备库与工具

作者: 简单点的笨演员 | 来源:发表于2021-06-25 18:53 被阅读0次

1. line_profiler——分析每行耗时(性能)

line_profiler是一款分析python的CPU密集型性能问题的强大工具,可以对函数进行逐行分析。

安装
pip install line-profiler
测试代码

在需要的分析的函数定义前加上 @profile 即可。不过需要注意的是,加上之后,编辑器会提示错误,也无法直接执行代码了,只能使用 kernprof -l -v xxx.py 的方式来执行,所以得,分析时加上并在分析后去掉。

# coding=utf-8

import time

class T:
    @profile
    def slow_function(self):
        time.sleep(0.01)

@profile
def main():
    l = [i for i in range(10000)]
    s = set(l)
    for _ in range(100):
        t = T()
        t.slow_function()

if __name__ == '__main__':
    main()
进行分析

在命令行中,使用 kernprof -l -v xxx.py 的方式来执行即可。

D:\test>kernprof -l -v test.py
Wrote profile results to test.py.lprof
Timer unit: 1e-06 s

Total time: 1.04845 s
File: test.py
Function: slow_function at line 6

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     6                                               @profile
     7                                               def slow_function(self):
     8       100    1048446.5  10484.5    100.0          time.sleep(0.01)

Total time: 1.05328 s
File: test.py
Function: main at line 10

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
    10                                           @profile
    11                                           def main():
    12         1       1379.8   1379.8      0.1      l = [i for i in range(10000)]
    13         1        478.6    478.6      0.0      s = set(l)
    14       101        514.1      5.1      0.0      for _ in range(100):
    15       100        398.4      4.0      0.0          t = T()
    16       100    1050508.3  10505.1     99.7          t.slow_function()

2. PyInstaller——将python程序打包成EXE可执行

PyInstaller是从 Python 脚本中生成独立的可执行文件的工具。它安装方便,使用简单,如果要用python写工具程序,是一个必备工具。

安装
pip install pyinstaller
进行打包
pyinstaller -F --icon=my_icon.ico test.py

相关文章

网友评论

      本文标题:Python开发必备库与工具

      本文链接:https://www.haomeiwen.com/subject/qimoyltx.html