Python
文章平均质量分 77
逍遥子(。ˇε ˇ。)
上善若水
展开
-
Google Protocol Buffers介绍和总结
Google Protocol Buffers介绍和总结转载 2015-10-21 11:55:06 · 1254 阅读 · 0 评论 -
在Python中调用Java方法 Pyjnius
Pyjnius 是一个 Python 库,为 Python 程序提供访问 Java 类的方法,支持桌面和 Android 系统。示例代码:>>> from jnius import autoclass>>> Stack = autoclass('java.util.Stack')>>> stack = Stack()>>> stack.push('hello')>>>转载 2012-09-17 14:37:25 · 2319 阅读 · 0 评论 -
How do I read image data from a URL in Python ?
What I'm trying to do is fairly simple when we're dealing with a local file, but the problem comes when I try to do this with a remote URL.Basically, I'm trying to create a PIL image object from a转载 2012-09-03 15:00:10 · 1048 阅读 · 0 评论 -
PIL 的图像处理模块
PIL 提供了丰富的功能模块:Image,ImageDraw,ImageEnhance,ImageFile 等等。最常用到的模块是 Image, ImageDraw,ImageEnhance 这三个模块。1、Image模块 最基本的模块,每个Image对象对应了一幅图像,基本的功能如下: 1 from PIL import Image2 img = Image.op转载 2012-08-29 15:35:26 · 980 阅读 · 0 评论 -
PIL批量给图片加上字母序号
效果图这里用的图片全是 240X240 的,按文件名的首字母作为序号,PIL 虽然可以计算文字的尺寸,但类似 D 这样的字符依然不能处于圆圈的正中,所以还对个别字符做了偏移设置,本来想用 aggdraw 画圆圈的,能平滑一些,不过安装了好几次,都以失败告终,最终放弃。#!/usr/bin/env python#-*- coding: utf-8 -*-import os,转载 2012-08-29 13:51:57 · 1704 阅读 · 0 评论 -
python里面的图片叠加操作
PIL是比较常用的python图片处理模块,刚才学习了一下如果将一个图片叠加在另外一个图片上面的方法。例子代码如下:下载: im.pyimport Imagen12090 = Image.new('RGB',(120,90),'black')n12060 = Image.new('RGB',(120,70),'white')n12090.paste(n120转载 2012-08-29 15:40:25 · 10830 阅读 · 0 评论 -
reportlab使用自定义字体
#使用自定义字体:import osfrom reportlab.pdfbase import pdfmetrics,ttfontspdfmetrics.registerFont(ttfonts.TTFont('song',os.path.join(folderFonts, 'wqy-zenhei.ttc'))) #folderFonts为自定义字体文件夹 #使用内嵌字体:转载 2012-07-02 16:25:56 · 4478 阅读 · 0 评论 -
在python中获取当前位置所在的行号和函数名
对于python,这几天一直有两个问题在困扰我:1.python中没办法直接取得当前的行号和函数名。这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__一样提供__line__和__func__,但是却最终也没有找到解决方案。2.如果一个函数在不知道自己名字的情况下,怎么才能递归调用自己。这是我一个同事问我的,其实也是获取函数名,但是当时也是回答不出来。转载 2012-06-19 17:28:06 · 2447 阅读 · 0 评论 -
python多线程模块threadpool简单使用
python实现线程池通常使用threading或thread模块来编写,现在已经有了threadpool模块来实现线程池。英文文档见:http://www.chrisarndt.de/projects/threadpool/中文文档见:http://gashero.yeax.com/?p=44现给出一个简易的使用threadpool模块来实现线程池的例子:impo转载 2012-06-18 16:30:36 · 2950 阅读 · 2 评论 -
应用python编写简单新浪微博应用(二)
应用python编写简单新浪微博应用(二) 《应用python编写简单新浪微博应用(一)》一文中简单介绍了python语言实现验证授权、微博发布读取的相关代码,本文会进一步说明评论微博、转发微博、获取未读消息数、获取评论列表、关注他人、取消关注他人、显示和他人的关系、获取他人信息等功能的实现。 注意:本文中各个部分的代码仍需承接在(一)中所列出的应用验证相关代码之后。转载 2012-06-18 15:34:09 · 1948 阅读 · 0 评论 -
应用python编写简单新浪微博应用(一)
应用python编写简单新浪微博应用(一)=============转载请注明出处============= 首先,你要有一个新浪微博账号。 申请页面:http://weibo.com 其次,你要在新浪微博的开发平台中创建一个应用,获取自己专属的App Key和App Secret。 申请页面:http://open.weibo.com/developmen转载 2012-06-18 15:31:28 · 2056 阅读 · 1 评论 -
python的argc与argv
如果用C寫一般的命令列工具,常透過main函式的argc,argv來取得使用者所輸入的命令參數。int main(int argc, char *argv){... }那麼在python中要作同樣的事該怎麼作呢?第一,python是一個script language,所以沒有像C語言一樣規定程式執行的起點一定是main(),要作到同樣的事python裡面可以這樣寫转载 2012-06-15 10:10:07 · 18225 阅读 · 0 评论 -
wxPython中多线程处理的研究
在GUI中进行多线程编程是一件很麻烦的事情,一直以来我都在寻找一个通用的方便的处理方法。在前一段时间中我曾经发表过关于长流程的处理,主要是在处理中插入一个对调度器的处理,而这个调度器使用了队列来实现子线程与主线程之间的数据通信。它的确可以解决一些问题,但并不是非常的方便。那么总结在 wxPython 中所提出的解决多线程问题的答案如下:不要在子线程中进行GUI的更新处理,所有的GUI的更新转载 2012-06-15 14:26:34 · 2774 阅读 · 0 评论 -
python隐藏文件
不多说,直接代码:import osfilename = "***.***"p = os.popen('attrib +h ' + fn)p.close()attrib是windows的dos命令,用来改变文件属性的,我们可以在dos窗口输入:help attrib看到详细的解释。os.popen可以执行系统的调用,犹如这里的dos命令一样,原创 2012-06-13 13:45:37 · 4343 阅读 · 0 评论 -
关于使用reportlab生成中文PDF文档
今天通过reportlab生成PDF文档时发现使用自带的字体输出中文时是方形的小黑块,费了不少时间发现reportlab自带的字体格式不支持中文输出,所以找了个字体文件,如:simsun.ttf(宋体),然后注册,即可在PDF文档中输出中文,所以我断定:需要在产生的PDF文档中输出中文时,最好用一种支持中文输出的字体支持之。如有不同意见的朋友,欢迎交流学习。代码:f原创 2012-05-22 17:17:14 · 4566 阅读 · 2 评论 -
浅析Python中的Python全局变量
Python是一种面向对象的开发语言,在函数中使用全局变量,一般应作全局变量说明,只有在函数内经过说明的全局变量才能使用,下面介绍下Python全局变量有关问题。应该尽量避免使用Python全局变量。不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性。对全局变量,如果程序员甲修改了_a的值,这时可能导致程序中的错误。这种错误是很难发现和更正的。全局变量降低了函数转载 2012-05-22 17:56:40 · 596 阅读 · 0 评论 -
对数与指数操作:pow,log,sqrt,exp
Python内容的x**y可以进行指数运算,比如2**3=8。有时候我们需要以参数的方式进行指数计算,这时我们可以使用pow函数,比如:import mathfor x,y in [(2,3),(2.1,3.2),(1.0,5),(2.0,0), (2,float('nan')),(9.0,0.5),(27.0,1.0/3),]: print '{:5.1f}转载 2012-09-25 12:09:21 · 23112 阅读 · 0 评论 -
Python 的 Socket 编程教程
这是用来快速学习 Python Socket 套接字编程的指南和教程。Python 的 Socket 编程跟 C 语言很像。Python 官方关于 Socket 的函数请看 http://docs.python.org/library/socket.html基本上,Socket 是任何一种计算机网络通讯中最基础的内容。例如当你在浏览器地址栏中输入 www.oschina.net 时转载 2012-10-28 19:33:12 · 971 阅读 · 0 评论 -
python:open 文件操作
f=open('/tmp/hello','w')#open(路径+文件名,读写模式)#读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式如:'rb','wb','r+b'等等读写模式的类型有:rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)w 以写方式打开,a 以追加模式打开 (从转载 2015-01-20 10:44:16 · 905 阅读 · 0 评论 -
Python yield 使用浅析
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一转载 2015-01-14 11:16:22 · 679 阅读 · 0 评论 -
WingIDE注册破解方法
WingIDE是Python程序语言设计的集成开发环境,具有语法标签高亮显示,命令自动完成和函数跳转列表等非常强大的功能。本文主要介绍WingIDE 5安装及注册破解方法。1. WingIDE 5下载可以从官方网站下载最新版本,或从这里下载http://pan.baidu.com/s/1c07rRXm,版本为5.0.0-1 (rev 30231)2. 注册破解破转载 2015-01-27 12:00:04 · 1057 阅读 · 0 评论 -
Python 代码调试技巧
Debug 对于任何开发人员都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug。python 提供了一系列 debug 的工具和包,可供我们选择。本文将主要阐述如何利用 python debug 相关工具进行 debug。使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断转载 2015-01-27 11:34:27 · 880 阅读 · 0 评论 -
ArcPy - 入门学习
加入字段:>>> arc = ['A','B','C','D','E'] >>> for i in range(5): ... arcpy.AddField_management("idcounty",arc[i],"TEXT") 给idcounty空间数据批量加入五个字段~Buffer缓冲区arcp转载 2012-12-20 11:56:57 · 1419 阅读 · 0 评论 -
PyQt+OpenCV 录制保存、播放视频
最近忙完了年前的事情了,顿感空虚。所以准备这一两个月看看以前的书,另外学习下视频方面的东西(CV方面)。 之前学过几天QT/PyQt,于是用PyQt结合OpenCV,做了一个小程序。具有播放并保存摄像头捕获组成的视频,以及播放本地视频文件两个小功能。 界面很简单,没图没真相 。 代码就100多行,很容易看懂。最后感叹下Open转载 2013-01-04 13:28:55 · 3539 阅读 · 0 评论 -
针对 Rails 开发者的 Django 比较
Django 是 Python 最流行的 Web 应用开发框架,很多人认为 Django 就相当于 Python 的 Rails。如果你是一个有经验的 Rails 开发者,那么这篇文章将教会你如何使用 Django 来开发,并且帮助你理清 Rails 和 Django 中的概念之间的联系。我需要做哪些准备工作?我们假设你是个有一定经验的开发者,不用花费大量的时间去解释一些基本知识,转载 2013-01-04 13:34:08 · 1027 阅读 · 0 评论 -
Python yield 使用浅析
如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题,许多初学者都可以轻易写出如下函数:清单 1. 简单输出斐波那契數列前 N 个数 def fab(max): n, a, b = 0, 0, 1转载 2012-12-11 17:32:19 · 1515 阅读 · 0 评论 -
如何编写高质量的Python程序
如何编写高质量的python程序代码规范首先阅读下面的两份规范,并深入理解。Python社区官方建议采用的Python编码风格:PEP8 中文版Google SoC 建议的 Python 编码风格:Google Python Style Guide 中文版写出规范的代码是写出高质量代码的第一步,并且有助于培养仔细的习惯。为了培养规范写代码的习惯,可以转载 2012-12-11 17:31:32 · 888 阅读 · 0 评论 -
Python开发者应该知道的7个开发库
在我多年的 Python 编程经历以及在 Github 上的探索漫游过程中,我发掘到一些很不错的 Python 开发包,这些包大大简化了开发过程,而本文就是为了向大家推荐这些开发包。请注意我特别排除了像SQLAlchemy和Flask这样的库,因为其实在太优秀了,无需多提。下面开始:1. PyQuery (with lxml)安装方法 pip install pyq转载 2012-12-11 17:30:53 · 733 阅读 · 0 评论 -
C语言扩展Python
Python具有很好的开发灵活性,最大的特点是C语言可以对Python进行扩展,目前工作中正在进行相关的开发,第一篇文章作为基础.实现C函数,用Python API封装,实现俩个功能,1.say_hello,打印hello world! 2.calc_pv,做加法用算.以下为使用方法:01Python 2.7.3 (default, No转载 2012-11-18 19:37:33 · 833 阅读 · 0 评论 -
Python 开发者应该知道的 7 个开发库
在我多年的 Python 编程经历以及在 Github 上的探索漫游过程中,我发掘到一些很不错的 Python 开发包,这些包大大简化了开发过程,而本文就是为了向大家推荐这些开发包。请注意我特别排除了像 SQLAlchemy 和 Flask 这样的库,因为其实在太优秀了,无需多提。下面开始:1. PyQuery (with lxml)安装方法 pip install转载 2012-11-18 19:22:04 · 612 阅读 · 0 评论 -
如何使用pyflakes给python做语法检查
python是一门动态语言。在给python传参数的时候并没有严格的类型限制。写python程序的时候,发现错误经常只能在执行的时候发现。有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导致需要花很多时间才能将语法错误慢慢排查出来。其实有一些错误是很明显的,假如能在写程序的时候发现这些错误,就能提高工作效率。最近我发现,可以用pyflakes这个程序对python语法进行语法检查,这样可以尽转载 2012-11-11 21:12:24 · 4439 阅读 · 0 评论 -
python将十六进制字符串转为十进制数字
调用Python内置int()函数把该字串转为数字。以下为在Python解释器编程环境下的操作示范:把十六进制的字串转为十进制数字:Python代码>>> print int('ff', 16) 255 >>> print int('ff', 16)255把十进制数字转换为以十六进制表示之字串,可调用内置的hex()函数:Python代码>>>转载 2012-11-09 16:16:29 · 3741 阅读 · 0 评论 -
使用Python访问Windows的注册表
在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便。不过这里介绍的是使用_winreg操作注册表,毕竟是Python自带的标准库,无需安装第三方库。下面的例子是通过Python获取Windows XP下已经安装的补丁号。Windows的补丁号都在“HKEY_LOCAL_MACHINE\转载 2012-05-22 17:49:52 · 1359 阅读 · 0 评论 -
使用Twisted实现一个简单Web服务器
我的原文发在Python版,这里也发一个,好增加点Python版的人气。希望支持。下面是原文:运行环境:Python 2.3+Twisted的py-23安装版本自己实现Web服务器的优点就不用说太多了,主要是能控制具体的实现。也能按照自己的习惯实现互动方式。而Twisted在tcp以下是C写的,ip和udp部分应该是C和Python的混合产物,而http smtp等则是Pyth转载 2012-05-22 17:47:52 · 880 阅读 · 0 评论 -
WindowsError: [Error 32]问题的解决
刚接触python,写了一段简单的代码,功能就是重命名一个文件,代码如下:list_1=os.listdir(".")for files in list_1: f=open(files) if f.name=="01.txt": os.rename('01.txt','001.txt') elif f.name=="05.txt":转载 2012-06-08 17:02:53 · 18486 阅读 · 2 评论 -
十个最好的PDF生成库
1)FPDFhttp://www.fpdf.org/。这是一个纯PHP的库,它没有使用PDFlib。完全免费。没有任何license的限制。 2)iTexthttp://www.lowagie.com/iText/。 这是一个基于Java的库。iText#则是一个基于.NET的库。使用MPL/LGPL的license。 3)AlivePDF转载 2012-06-08 15:21:41 · 2200 阅读 · 0 评论 -
python字符串中插入字符串
Sometimes you have to insert a string into the middle of another string, like "C" into "ABDE" so it becomes "ABCDE".view sourceprint?definsert(original, new, pos):'''Inserts new inside转载 2012-06-07 11:44:23 · 16625 阅读 · 0 评论 -
关于py2exe的setup.py的部分释疑
What you need to understand about Distutils:The Distutils module is part of the standard python distribution. Distutils is used by python module developers to package and distribute new modules.转载 2012-06-08 10:54:21 · 891 阅读 · 0 评论 -
Python中文问题研究
我曾经在深入浅出java中文问题系列中研究过java的中文问题,现在中文问题已经不再羁绊我在java世界中漫游的脚步了。最近,对Python产生了浓厚的兴趣,谁知道跟中文问题这个老朋友又一次不期而遇。看来,在代码世界中,中文问题会在很长一段时间里跟我们形影不离。这也难怪,谁让当初发明计算机的不是我们中国人呢,否则,现在全世界的计算机都支持而且必须支持GBK,这样,写这样文章的人就不会是我了,而是大转载 2012-06-07 17:19:57 · 665 阅读 · 0 评论 -
Python处理pdf文件的包
pyPdf纯Python的PDF处理工具。主页:http://pybrary.net/pyPdf/。主要功能:读取文档信息(标题,作者,……)逐页分割文件逐页合并文件裁剪页面合并多个页面为一个页面加密、解密PDF文件ReportLab强大的生成PDF文件的库。主页:http://www.reportlab.com/software/opensource/rl转载 2012-06-08 12:09:06 · 4620 阅读 · 0 评论