Python
xyx_yang
这个作者很懒,什么都没留下…
展开
-
引用路径与全局变量
引用路径与全局变量最近遇到一个全局变量无法使用的bug,在此记录一下该bug的表现与解决方案。在一份代码中,文件以如下方式组织:| – diff_main.py| – diff| – diff_code.py| – diff_conf.py在diff_main.py中调用diff_code.py中的全局变量g_tasknumber,并进行修改,但是在diff_code.py中再次调...原创 2019-11-02 11:13:49 · 277 阅读 · 0 评论 -
ogr读写性能优化
ogr读写性能优化在开发一个程序的时候,需要将一份mif格式的地理数据按照图幅进行切分,以便使用多进程并行的方式进行后续计算。在第一次实现该功能时,使用的是先将所有数据读取进内存,再将内存里的数据写入到文件中实现的。但是因为mif文件太大,直接读取进内存,在一些内存不足的机器上无法顺利运行,因此对该方法进行了改进。封装的通用mif文件读写函数def get_miffile_layer(ds_...原创 2019-10-26 11:40:34 · 254 阅读 · 0 评论 -
流畅的Python阅读笔记(一)——yield关键字
yield关键字yield关键字是python中用于处理协程的关键字,其含义为产出和让步。yield item这行代码会产出一个值,提供给next(…)的调用方,同时,还会做出让步,暂停执行生成器,让调用方继续工作,指导需要使用另一个值时再调用next()。简单的使用def simple_coroutine(): print('-> coroutine started...原创 2018-09-02 12:29:56 · 317 阅读 · 0 评论 -
流畅的Python阅读笔记(二)——python多进程
python多进程在Python中,如果希望借助计算机多核的优势提高程序的运行效率,往往必须借助多进程来实现。因为在Python中,单一进程运行时会有一个GIL全局锁,每个线程在切换时都必须获取这个锁来取得CPU的控制权,因此Python中的多线程程序是线程安全的,但是往往很难发挥出并行计算的优势。一般只有在进行IO密集型的程序时才能够发挥出效率优势。在CPU密集的程序中,往往采用多进程的方式来...原创 2018-09-22 10:38:17 · 238 阅读 · 0 评论 -
python程序优化笔记
python程序优化笔记最近要优化一个python程序,提高程序的执行效率,降低程序的资源占用。在优化过程中用到了一些优化的工具,并且使用了一些优化的方法,在这里做一个记录。性能测试工具在进行程序优化时,需要检测两个方面的内容,一个是程序的内存使用,另一个是程序的执行时间。下面介绍两个用于进行Python性能检测的工具,memory_profiler,用于检测程序的内存使用情况;cProfi...原创 2018-10-20 10:32:40 · 745 阅读 · 0 评论 -
KM算法
最近的项目需要使用这个算法,在GitHub上搜索了一下这个算法的实现,希望能找一个python语言实现的。在GitHub上找到了一个,但是计算出来的结果是错误,因此本人根据其他人的博客使用Python实现了一个KM算法。现在讲代码和参考的博客贴出:python代码匈牙利算法KM算法其中匈牙利算法是KM算法的一个基础,可以先看匈牙利算法在去了解KM算法。...原创 2018-11-04 17:54:50 · 978 阅读 · 0 评论 -
决策树的使用
决策树的使用决策树是一种基于数据训练的机器学习方法,根据训练数据和训练特征集,找到特征集与数据类别的关联,生成if-else型的判断条件树。决策树具有训练简单、结果易于解读的优点,是一种非常常见的机器学习训练方法。以下应该用python中的机器学习库scikit-learn使用决策树的基本方法。决策树基本用法决策树创建from sklearn.tree import DecisionTre...原创 2018-12-02 11:57:29 · 1716 阅读 · 1 评论