python
lainegates
think more, code less.
展开
-
numpy.array 与 字符串的互转
numpy.array 转字符串a = numpy.array([[1,2],[3,4]])s = str(a)a.savetxt()字符串 转 numpy.array此处特指由 numpy.array 转换而得字符串,如上文的s。numpy没有给直接转换的函数,需要自己写import astimport rea = np.array([[1,2], [3,4]])text = str(a)# 将,替换为空格text = text.replace(",", " ")# 去除换行原创 2022-05-12 15:08:06 · 11217 阅读 · 2 评论 -
python-opencv 遇到问题
调用 cv2.warpAffineOpenCV(4.2.0) /io/opencv/modules/imgproc/src/imgwarp.cpp:1800: error: (-215:Assertion failed) ifunc != 0 in function ‘remap’解决办法:cv2.warpAffine的第一个参数src是numpy.array类型,把它的类型改成numpy.uint8调用cv2.polylineserror: (-215:Assertion failed原创 2022-01-04 16:49:34 · 3322 阅读 · 0 评论 -
Torch.Distributions.Normal
Pytorch提供的正态分布创建方式>>> m = Normal(torch.tensor([0.0]), torch.tensor([1.0]))>>> m.sample() # 生成数据,可传shape参数 tensor([ 0.1046])接口log_prob(self, value)返回value概率的log值,正态分布公式为f(x)=12πσexp(−(x−μ)22σ2)f(x)=\frac{1}{\sqrt{2\pi}\sig原创 2021-10-30 21:26:34 · 3581 阅读 · 0 评论 -
python 进度条库 tqdm
转载出处tqdm模块是python进度条库, 主要分为两种运行模式基于迭代对象运行: tqdm(iterator)import timefrom tqdm import tqdm, trange#trange(i)是tqdm(range(i))的一种简单写法for i in trange(100): time.sleep(0.05)for i in tqdm(range(100), desc='Processing'): time.sleep(0.05)dic = ['转载 2021-06-30 19:59:53 · 334 阅读 · 0 评论 -
Python 并发 multiprocessing-Process
*multiprocessing支持子进程、通信和共享数据、执行不同形式的同步。*Process创建进程的类:Process([group [, target [, name [, args [, kwargs]]]]]),target表示调用对象,args表示调用对象的位置参数元组。kwargs表示调用对象的字典。Name为别名。Group实质上不使用。方法有:is_aliv转载 2013-06-08 19:46:12 · 14028 阅读 · 0 评论 -
Python标准库11 多进程探索 (multiprocessing包)
原文:http://www.cnblogs.com/vamei/archive/2012/10/13/2722254.html在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。 1. 进程池之前我们使用Process创建进程的时候,每次创建一个进程。进程池 (Process P转载 2013-06-08 19:34:05 · 1601 阅读 · 0 评论 -
python multiprocess 包中工具类Queue的使用
原文:http://blog.ftofficer.com/2009/12/python-multiprocessing-3-about-queue/继续讨论Python multiprocessing,这次讨论的主要内容是mp库的核心组件之一的Queue。Queue是mp库当中用来提供多进程对象交换的方式。对象交换和上一部分当中提到的对象共享都是使多个进程访问同一个对象的方转载 2013-06-08 19:39:21 · 10436 阅读 · 0 评论 -
python 继承
下简单说下我学习python继承的一些想法与经验。在学习python的面向对象时,我始终参照的是c++的面向对象机制。相对而言,python的面向对象确实更简单一些。基础:整数也被作为对象。前面就看到过,说所有的东西都是对象,包括函数。属于一个对象或类的变量被称为域——这个名称有点奇怪,c++叫成员。域分为两种,分别属于对象和属于类——其实就是成员和静态成员。Self指针:原创 2013-06-22 19:21:28 · 10419 阅读 · 0 评论 -
python 使用注意事项
最近使用一段python来写程序,留下一些记录,方便以事查看。1.list内存消耗 list是python的苦工,很好用,做小数据处理时很好用,但是list耗内存。当然几百个是没有什么影响的。我尝试过用list存取文件内容。这个文件的内容比较特殊,每一行的文本不超过20个字符,但是大约10万行。文件大小是20M。我用一个list存整个文件内容,内在消耗大约20M。符合常理。但是我用li原创 2013-06-16 19:53:29 · 1673 阅读 · 0 评论 -
ImportError: cannot import name ABCMeta 问题解决
今天测试python代码,不知怎么都启动不了测试,显示“ImportError: cannot import name ABCMeta”然后我试着只用一句“print ‘abc’”结果还是错,于是我清楚,这个错误不是我的问题了。于是仔细翻了代码目录,找到了一个名为abc.py的文件,原来是这个文件来系统的abc.py命名冲突了,以后不能乱给文件起名字了。原创 2013-10-05 15:41:20 · 17442 阅读 · 2 评论 -
windows环境下编译python
既然已经决定在python的路上一路走到黑,就难免要下点血本。这不,为了弄到《Python源码剖析》这本绝版书,我都在淘宝上买了复印版,纸张封面内容都不错,虽然里面的代码有一点点不是很清楚,但是相比电子版的确实强多了。这本书较早的时候在首都图书馆翻过,所以复印版到手后就直接开始在windows下编译python了。下面是我的编译过程记录,几乎同书中一样,唯一不同的是我的机器是win7 64转载 2013-12-04 09:55:04 · 2366 阅读 · 0 评论 -
python/c++接口库比较(SWIG,boost.python, pycxx, py++, sip, Weave, Pyrex )
目前有很多开源的python/c++ 绑定工具,搜了好多岾子,这里稍微总结下。SWIG支持 Python 2 and 3配置正确的话,可以全自动完成封装(*.i文件需要自己写)当不是全自动的时候,它大多会重复你的.h文件并给出提示除了Python外,还支持其他语言(Java, Ruby, Lua, 等)输出一个本地文件(这个文件会被编译成.pyd)和一个封装(这原创 2014-02-20 18:34:35 · 9096 阅读 · 2 评论 -
简易的python脚本:c代码转c++
最近需要将一些c的代码封装成类的方式,方便调用,手工改太麻烦,于是想到了Python+正则表达式,方便又快捷。正则表达式的用法网上非常详细,我就不再细说。百度百科的说明就不错:http://baike.baidu.com/view/94238.htm我只简要说下脚本内容 ,这是转换常见内容的脚本,基本c转换c++都用得上的。有具体要求的,需要转换特定语句的,可以以这个为基础改,代码奉上:原创 2014-03-05 16:20:18 · 2790 阅读 · 0 评论 -
Python 写excel文件并插入散点图
这两天做小实验,需要分析结果,当然需要些图表。实验的算例少说也有几十个,一个个导入excel,太烦了。幸好,本人是个程序员。google了下,python写excel文件的方法不少,最后我选定了xlsxwriter这个库,使用python,很容易就能完成工作。下面说下步骤,并附上代码。一、安装xlsxwriter当然,python是一定要安装的,我使用的是Python 2.7.8。原创 2014-11-26 15:02:30 · 14516 阅读 · 0 评论 -
python 性能鸡汤
第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!" 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千转载 2013-06-06 13:02:37 · 1417 阅读 · 0 评论 -
os.path 的使用
os.path模块basename('文件路径') 去掉目录路径,返回fname文件名 1 import os 2 os.path.basename('/Volumes/1.mp4') #输出('1.mp4')dirname('文件路径') 去掉文件名,返回目录路径 1 import os 2 os.path.dirname('/Volume转载 2013-05-15 13:52:34 · 1566 阅读 · 0 评论 -
boost.python 初级教程
python便于快速开发,并且python底层是c,与c的兼容性非常好,用python快速开发,用c++开发性能要求较高的模块是一个非常理想的选择。python自带一个ctypes,使用非常方便,但是不支持c++的类,swig使用又比较繁锁,幸好还有boost.python,使用非常方便,并且可以导出类!boost.python的安装:我的环境是win7 x64 + vs2原创 2012-09-22 22:06:30 · 4578 阅读 · 0 评论 -
Python多重继承的异构构造器
在Python里面,如果你使用上Qt,SQLAlchemy,Twisted之类各种大型类库时候,有时候多重继承Multiple Inheritance是个简单的解决方法,但是多重继承的复杂性总容易造成误解和疑惑。一般“常识”说,使用super访问父类的属性/方法,这种说法在多重继承里面是不成立的,多重继承的类并没有父类的概念(There is no superclass in a MI原创 2012-10-20 10:54:59 · 1542 阅读 · 0 评论 -
boost.python vector_indexing_suite 使用注意事项
今天使用boost.python封装一个vector,出现了错误。代码大致如下:class Point{public: Point( double xt , double yt ):x(xt) , y(yt){} double getX(){ return x; } double getY(){ return y; } double x ; double y ;};原创 2012-10-23 13:13:31 · 3516 阅读 · 0 评论 -
python 爬虫
Python提供了许多Module,通过这些Module,可以很简单的做一些工作。比如,要获得cloga这个词在百度搜索结果页中的排名结果(排名结果+URL),这就是一个很简单的爬虫需求。首先,要通过urllib2这个Module获得对应的HTML源码。import urllib2url='http://www.baidu.com/s?wd=cloga'content=urllib转载 2012-10-24 08:52:17 · 1132 阅读 · 0 评论 -
Python正则表达式指南
原文地址 http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正转载 2012-10-26 13:50:53 · 1149 阅读 · 0 评论 -
python 读取目录 批量更改文件名
今天做一填一些文档,文档名字有点难看,想想以后还得处理类似的,就写个python程序,顺便学点东西。我填好的这些文档,是word的,里面是一些个人信息。 我为了处理方便,一下子把文档复制很多个,再挨个修改。文件名自然就成了"文件名 - 副本(*).doc"。比较难看,如是写个python脚本来处理吧,把文件名一次改成"文件名*.doc",至于字符串处理,交给正则表达式,非常方便。下面贴上原创 2012-10-26 14:08:40 · 8911 阅读 · 0 评论 -
eclipse 安装 PyDev
windows使用python的IDE,PyDev是个非常好的选择。首先安装eclipse,我的版本是3.7.2然后安装PyDev去帮助“→”安装新软件 输入http://pydev.org/updates 在工作 领域。几秒钟后,应该会出现两个选项。选择Eclipse的PyDev中选项。不要选择出“PyDev Mylyn集成原创 2012-11-08 16:10:01 · 1314 阅读 · 0 评论 -
python中的 @ 修饰符
今天看到python中的一个修饰符'@',不了解它的使用,查看了下官方文档,有了一点了解。原文 PEP-318 网址:http://www.python.org/dev/peps/pep-0318/不得不佩服老外,治学很严谨,在python网站相关网页上把为什么使用decorator(主要为了简便一些代码),以及使用什么字符,甚至语法怎么设计写了个详详细细,好长的一篇啊。这是查看的其中原创 2012-11-09 16:02:49 · 56946 阅读 · 1 评论 -
pydev 功能及使用示例
原文网址 http://www.cnblogs.com/sevenyuan/archive/2009/12/10/1620939.htmlPyDev创建项目在开展工作之前,需要创建一个新的项目。在 Eclipse 菜单栏中,选择 File > New > Project > Pydev > Pydev Project,单击 Next。图 5. 创建 Pyde转载 2012-12-27 21:01:13 · 11488 阅读 · 0 评论 -
eclipse +PyDev 设置
看纯白背景的代码,时间一长眼睛不舒服,于是上网查找,找到了修改颜色的办法。1.改eclipse背景色windows->peferences->General->Editors->Text EditorAppearance color options:选择Background color,去掉System default 在color里选择颜色(色调:85。饱和度:123。亮度:205原创 2012-11-08 17:10:40 · 6286 阅读 · 0 评论 -
boost.python 使用时注意小事项
boost.python 非常方便而强大,它几乎可以做到不修改原有c++设计就能完成封装,也就是说,只给出编译好的库和头文件,就可以完成封装。我发现有几个要注意的点:1.要封装的代码编译成库之后再用boost.python封装。boost.python可以封装编译好的c或c++程序,但是同时也带来了问题,比如,你有一个工程的源代码,不想编译好库再封装,想一次完成,推荐不要这么做。今天我原创 2012-10-23 13:23:38 · 1960 阅读 · 2 评论 -
编译boost 库
windows下使用boost.python,使用官方的安装包在线安装,下载的官网是http://www.boostpro.com/download/。所得的boost.python的包默认使用的是python2.7。而我做的项目中使用的是python2.6 , 没有办法,只得卸载了本机的python2.7 , 安装上 python 2.6 ,重新编译boost,终于可正常使用了。下面是我找到原创 2012-10-27 15:03:47 · 1811 阅读 · 0 评论 -
pyqt4 使用qrc 文件
qt提供了非常好用的rcc系统,尤其当系统使用了非常多的图片要管理的时候。qt管理的方式就是使用qrc文件。在QtDesigner中可以直接建立qrc文件。编辑好自己的qrc文件之后,在 "python目录/Lib/site-packages/PyQt4"下可以找到pyrcc4.exe文件,这个文件就是主角了。pyrcc4 -o D:/form_rc.py D:/form.qrc原创 2013-04-08 20:08:06 · 6404 阅读 · 0 评论 -
Python调用C模块(一):C api方式
大致计划如下(测试平台仅限于Windows 和 Linux,编译器限于 MSVC、Mingw及linux gcc):传统方式调用 C 模块用 ctypes 调用C动态库如有精力和兴趣,简单熟悉一下swig、boost.python, sip, shiboken用 C 调用 Python如果只是简单地调用系统调用或c函数,应该考虑使用ctypes。但传统方式更通用,比如C模块中同时要转载 2012-09-19 15:06:44 · 2254 阅读 · 0 评论