首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 代码优化实践

最近在用 Python 写一个一键替换文件的脚本文件,大概的功能是,向程序传递一个本地或 SFTP 目录的参数,程序可以把指定目录所有文件替换到特定应用程序的对应目录。...从目前的代码中能发现至少有 2 个地方可以优化: 函数之间需要传递的参数太多了,可以看看是否全部必要,考虑下如何精简; 部分业务逻辑太细化,有重复的代码实现,导致实现看起来比较臃肿。...对于第 2 点,优化的思路是:合并同类项,对于重复代码的部分,尽可能提取到共用逻辑中实现。...下面是优化后的代码: #执行本地文件替换的具体操作 def ReplaceLocalFiles(filepath, bydir): if (":" not in filepath) or (not...优化后的结果看起来有没有清爽很多? 以上,如果觉得有用,请帮忙转发分享,不甚感激。

45040
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 代码优化技巧(一)

    代码优化Part1 分享最近看到的关于代码优化的一些技巧。...""" print timeit.timeit(stmt=s1, number=1000) print timeit.timeit(stmt=s2, number=1000) 运行结果如下: ➜ python...在python3.x里, True 变成了关键字参数,所以上述两种情况就一样了。 cProfile, cStringIO 和 cPickle 使用C语言的版本写的扩展要比原生的要快。...xrange 在python2.x里xrange 是纯C实现的生成器,相对于range来说,它不会一次性计算出所有值在内存中。但它的限制是只能和整型一起工作:你不能使用long或者float。...import 语句的开销 import语句有时候为了限制它们的作用范围或者节省初始化时间,被卸载函数内部,虽然python的解释器不会重复import同一个模块不会出错,但重复导入会影响部分性能。

    40830

    Python 代码精简和优化

    Python很简单,容易使用,开发效率很高,移植性很好,代码资源也很丰富,被广泛使用。但是Python代码编出来的动态库比较大,python库很全,缺点就是库比较大。...在内存占用方法,随着py库的引入,内存也成倍的增加,这里来讨论下如何来给Python瘦身,以及如何优化内存的占用。 一、如何给Python的动态库瘦身。...Python代码还是很精练的,所以要减小小代码的大小比较困难,但是仍然有一些思路来减小Python库的大小。 1、strip python动态库。...2、使用代码优化选项:-O3,该参数会对代码进行最大程度的优化,包括优化生成的二进制代码的大小,缺点是优化后会对调试带来困难。 3、去除代码中的Doc String....Python的扩展库放在lib目录下,可以在lib目录下执行下面的命令来编译Python代码python -OO -m compileall .

    1.5K10

    Python 代码性能优化技巧

    Python 语言虽然能做很多事情,但是有一个不足之处,那就是执行效率和性能不够理想。 因此,更有必要进行一定的代码优化来提高 Python 程序的执行效率。...本文章主要是输出自己在 Python 程序优化的经验。 01 尽量使用内置函数 Python 的标准库中有很多内置函数,它们的运行效率都很高。因为很多标准库是使用 C 语言编写的。...在 Python 中,字符串变量在内存中是不可变的。如果使用 "+" 拼接字符串,内存会先创建一个新字符串,然后将两个旧字符串拼接,再复制到新字符串。...fir = 'hello' sec = 'monkey' result = '{}, {}'.format(fir, sec) print(result) 上述代码使用隐式的位置参数,format()...# 将 a 和 b 两个值互换 temp = a a = b b = temp Python 素有优雅的名声,所以有一个更加优雅又快速的方法,那就是多重赋值。

    92420

    Python 代码性能优化技巧

    10 个 Python IDE 和代码编辑器 1. Vim 2. Eclipse with PyDev 3. Sublime Text 4. Emacs 5. Komodo Edit 6. ...The Eric Python IDE 10. Interactive Editor for Python 获取帮助 你可以很容易的通过Python解释器获取帮助。...__doc__会显示其文档: 语法 Python中没有强制的语句终止字符,且代码块是通过缩进来指示的。 缩进表示一个代码块的开始,逆缩进则表示一个代码块的结束。...具有列表(list)、元组(tuple)和字典(dictionaries)三种基本的数据结构,而集合(sets)则包含在集合库中(但从Python2.5版本开始正式成为Python内建类型)。...流程控制 Python中可以使用if、for和while来实现流程控制。Python中并没有select,取而代之使用if来实现。使用for来枚举列表中的元素。

    87810

    常见 Python 代码优化技巧

    源 / Python那些事 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80%...优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。 改进算法,选择合适的数据结构 一个良好的算法能够对性能起到关键作用,因此性能改进的首要点是对算法的改进。...定位程序性能瓶颈 对代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python 内置了丰富的性能分析工具,如 profile,cProfile...Python 性能优化工具 Python 性能优化除了改进算法,选用合适的数据结构之外,还有几种关键的技术,比如将关键 python 代码部分重写成 C 扩展模块,或者选用在性能上更为优化的解释器等,这些在本文中统称为优化工具...实现的 Python",但实际上它是使用一个称为 RPython 的 Python 子集实现的,能够将 Python 代码转成 C, .NET, Java 等语言和平台的代码

    1.2K30

    常见 Python 代码优化技巧

    参考链接: Python代码优化技巧 源 /  Python那些事  代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、...优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。  改进算法,选择合适的数据结构  一个良好的算法能够对性能起到关键作用,因此性能改进的首要点是对算法的改进。...定位程序性能瓶颈  对代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python 内置了丰富的性能分析工具,如 profile,cProfile...Python 性能优化工具  Python 性能优化除了改进算法,选用合适的数据结构之外,还有几种关键的技术,比如将关键 python 代码部分重写成 C 扩展模块,或者选用在性能上更为优化的解释器等,...实现的 Python",但实际上它是使用一个称为 RPython 的 Python 子集实现的,能够将 Python 代码转成 C, .NET, Java 等语言和平台的代码

    60330

    python 代码检查,实现行级代码优化

    哪个函数占用内存比较多,是否需要优化对内存的使用? 哪个占用cpu时间比较长? 等...   这些都需要考虑,python有几个库可以帮助你解决这些问题~   废话不多说,切入主题。...首先测试该代码运行时间:       它是一个外部的python测量。 ? real 表明了执行脚本花费的总时间。 user 表明了执行脚本花费在cpu的时间。...$python -m memory_profiler + 要执行的代码文件 ? 看上面的输出,注意内存使用率的单位是MiB,这代表的是兆字节(1MiB = 1.05MB)....: $ python c9.py ?...通过以上几个模块,可以更加清晰的了解python代码的执行过程以及对资源的占用情况。对代码优化有很大的帮助

    62150

    Python编码规范与代码优化

    Python编码规范 Python的程序由包、模块(即一个Python文件)、函数、类和语句组成 (1) 命名规则 变量名、包名、模块名通常采用小写字母开头,如果名称中包含多个单词,一般采用第一个单词全部小写...getName();get_name() (2) 代码缩进 使用Tab键和空格来进行代码缩进,但是不要混用Tab和空格来缩进。...Python中的缩进代表程序块的作用域, 如果采用了错误的代码缩进,会导致程序抛出异常。 (3) 空格/空行 函数或者语句块之间使用空格行来分隔,以分开两段不同功能的代码块, 增强可读性。...(6) 如果一行语句太长,可以在行尾使用续行符“\” ,在下一行继续写代码。 (7) 适当使用异常处理结构提高程序的容错性和健壮性。

    9410

    代码优化指南:人生苦短,我用Python

    Python 代码的性能的方法进行了介绍。...在其中的每一篇文章中,作者都会介绍几种可用于 Python 代码的工具和分析器,以及它们可以如何帮助你更好地在前端(Python 脚本)和/或后端(Python 解释器)中找到瓶颈。...以下是 Python 代码优化的第二部分,主要从 Python 脚本与 Python 解释器两个方面阐述。...如果我们仔细看看我们的 Python 脚本,我们可以看到它使用了大量的列表迭代和 append。(这是另一个可以一开始就做脚本优化的地方。) 让我们继续看看其它一些专用工具。...在运行了优化的版本之后,我们可以看到以下结果: ? 在我们优化之后,listiter_next 函数的时间占用降至了 2.11%。读者还可以探索对该解释器进行进一步的优化。 2.

    1.1K130

    代码优化

    在写系统的i2c driver的时候,从參考板拿来一份轮询的driver sample,改完之后就直接提交代码到系统库,主要的測试都没有问题,一直到系统级别測试,发现和其它系统的交流的某个task A偶尔会...monitor log里面发现当task A timeout的时候,i2c driver task占用CPU百分比非常高,而i2c driver task仅仅是简单的读取操作,并且读取次数也不多,细致查看轮询代码...第二个问题就更有意思u时候遇到的,折腾了近1个月,在系统的end to end測试中,发现一旦Call的数目上去之后,有一个task的CPU使用率过高,有怀疑过硬件性能不行,也有怀疑过系统压力过大,最后还是看代码看到一个有意思的地方...一看到三重循环就非常紧张,每次task运行就是368*3*2次循环体,谨遵循环优化办法:把推断条件能外移的外移,同一时候也把code里面的除法都改成了移位操作。CPU使用过高问题得到解决。 3....所以系统级别的測试希望手机ftp的速率能够上到3.1mpbs,结果整个系统一直处于崩溃状态,找高通询问他们芯片的处理能力,找自己系统的代码处理能力瓶颈,最后发现overhead没考虑,所以才会出现系统负载只是来的情况

    41740

    代码优化指南:人生苦短,我用Python

    以下是 Python 代码优化的第二部分,主要从 Python 脚本与 Python 解释器两个方面阐述。...使用这个工具,你可以针对相关 Python 脚本查看下面的一项或多项内容: CPU flame graph 代码分析(code profiling) 内存图(memory graph) 代码热图(code...如果我们在浏览器中打开 index.html,我们会看到为了运行我们的 Python 脚本而执行的解释器源代码的位置。你会看到类似下面的东西: ?...如果我们仔细看看我们的 Python 脚本,我们可以看到它使用了大量的列表迭代和 append。(这是另一个可以一开始就做脚本优化的地方。) 让我们继续看看其它一些专用工具。...在运行了优化的版本之后,我们可以看到以下结果: ? 在我们优化之后,listiter_next 函数的时间占用降至了 2.11%。读者还可以探索对该解释器进行进一步的优化。 2.

    1K20
    领券