`
phinecos
  • 浏览: 342884 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
上一篇里的LAME项目已经展示了python如何与C语言交互,但程序仍不够理想,在python这一端仅仅是传递源文件和目标文件的路径,再调用C模块的encode方法来进行编码,但问题在于你无法控制encode函数,比如你想编码的源文件如果不是原始数据,而是wav文件或者其他格式呢?对于这个问题,有两种方法可以选择,一种模仿前面的C模块,在你的Python代码中读取数据,并将数据块逐个传递给encode函数,另一种方法是你传进去一个对象,这个对象带有一个read方法,这样你就可以在C模块里直接调用它的read方法来读取其数据。 听起来好像第二种更加面向对象,但实际上第一种方法反而是更为合适的选 ...
上一篇中我们已经了解如何在Python程序和C模块之间进行值的相互传递,现在我们来进入实作阶段,看看如何将一个C语言开发的开源mp3编解码库LAME包装为一个Python下可以使用的扩展模块。 首先去http://lame.sourceforge.net/download.php下载LAME的源代码,然后切换到root用户编译源代码, <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighli ...
在上一篇中我们已经使用c语言实现了一个最简单的扩展模块,这一篇中将在其基础上进行功能的丰富。 首先来考虑如何从外部的Python向C模块传递进参数,foo_bar2展示了如何向C模块传递整数,浮点数,字符串三个参数,其中"ids"指明了传入参数的数据类型。PyArg_ParseTuple负责对args进行解析,若解析失败则返回0. 代码 <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www ...
开发环境:Ubuntu9.10,python2.6,gcc4.4.1 1,ubuntu下的python运行包和开发包是分开的,因此需要在新利得里面安装python-all-dev,从而可以在代码中引用python的头文件和库。 2.下面是一个最简单的可以供python调用的c扩展模块,假设c程序文件名为foo.c: 代码 <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.c ...
AMFPHP是PHP的远程调用(RPC, Remote Procedure Call)工具。它可以使PHP与下述技术无缝通信: (1) Flash 和 Flex Remoting (2) JavaScript JSON 和 Ajax JSON (3) XML 和XML-RPC 什么是RPC 远端程序调用(RPC, Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象带对各种参数方法设置回调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的,就像我们在调用本地方法一样。 AMFPHP的工作原理 ...
1,字典的输出 <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->person={'name':'james','age':22}print("%(name)s,%(age)d"%person)importstringperson={'name':'james','age':2 ...
当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件。 1) 当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/local/lib/python) 事实上,模块搜索是在保存在sys.path这个全局变量中的目录列表中进 ...
1,《Python How To Program》 这本书是2001年的老书了,连它使用的python版本我都没弄清楚,不过我python却是从此书入门的。里面没有Set,还在讲老掉牙的CGI,不过对操作符的重载讲解的不错,其他诸如多线程,网络,XMl,数据库,文 ...
1,先说说今天体会最深刻的一点:写python代码,一个好的编辑器至关重要,这其中VIM确实是最佳选择。由于python是根据缩进来判断上下文的,因此tab和空格使用不当会害死你的。一段代码在Notepad++里看起来对齐格式没问题,可就是死活编译不过,来到vim下一看,damn it,格式是乱的。本想用4个空格替换掉所有的tab,可该死的Notepad++居然并没有全部替换掉,再换UltraEdit32,依然如故,不得已,最后换了EmEditor,比前面两个强多了, 2,python实现遍历文件夹下所有文件 代码 <!--<br/ /><br/ /> ...
1,使用python提交post请求时,如果参数中包含中文,则会提交失败,因此需要将参数进行utf-8编码,示例如下: <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->self.name=name.encode("utf-8") 2,一直在linux下使用python2 ...
  1,python2.4不支持下面这种异常处理语法 <!--<br/ /> <br/ /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ /> http://www.CodeHighlighter.com/<br/ /> <br/ /> -->try:except:finally: 只有2.5以上才行,为此只能改成下述写法,damn fuck python 2.4... <!--<br/ ...
一,win32codes的安装 1)首先将Medibuntu的软件源加入到Ubuntu中,同时将其GPG密钥加入到密钥环中,它将用于对其下面包含的包进行验证,这些可以通过下述命令完成: 代码 <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->sudowget--output-document=/et ...
代码 <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->interfaceStringSearchable{publicfunctionsearch($substring,$buffer);}classBoyerMooreStringSearchimplementsStringSearchable{pu ...
PHP中有下列称之为魔术方法(magic method)的函数:__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload,本文使用__call为实现一个身份验证的简单实例,代码如下: 代码 <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighte ...
1. 安装文泉驿微米黑字体: <!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->sudoaptitudeinstallttf-wqy-microhei 2. 修改字体选择文件/etc/fonts/conf.d/69-language-selector-zh-cn.conf <!--<br ...
Global site tag (gtag.js) - Google Analytics