<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></title> 
<link>http://www.bizeway.net/index.php</link> 
<description><![CDATA[网务通 - 网务公司发展之路]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></copyright>
<item>
<link>http://www.bizeway.net/read.php?373</link>
<title><![CDATA[跟着ArthurXF学python——解决Failed to load application: No module named XXX问题]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[python]]></category>
<pubDate>Tue, 07 Oct 2008 12:48:03 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?373</guid> 
<description>
<![CDATA[ 
	Twisted是python的一个网络编程框架，支持很多的网络协议，在安装好了Twisted的之后，在windows下可以直接在程序->Twisted->Twisted Command Prompt，直接进入Twisted的命令行状态，这个命令行会直接帮忙设置好系统的环境变量。我们在这个命令行下，可以直接使用twistd这个命令运行.tac的文件。<br/><br/>但是今天我运行文件的时候总是碰到错误，例如：<br/>exceptions.NameError: global name 'config' is not defined<br/>Failed to load application: global name 'config' is not defined<br/><br/>其实是在执行的tac文件中，import了一个config.py文件<br/>这两个文件是在同一个目录下的，可是就怎么样不能在tac文件中导入config.py文件。<br/><br/>最后使用这个方法解决的：<br/>import sys<br/>sys.path.append('.')<br/><br/>也就是在系统环境PATH中加入一个"."，来让程序查找当前目录，这样就把config.py导入了。不过很奇特的，一般文件搜索顺序应该是先找当前目录，找不到才会去找其他目录的。如果谁知道这个问题其他的解决办法。请给我留言。本文由ArthurXF倾情奉献！<br/>Tags - <a href="tag.php?tag=python" rel="tag">python</a> , <a href="tag.php?tag=twisted" rel="tag">twisted</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?372</link>
<title><![CDATA[跟着ArthurXF学习python5——取得当前文件所在目录__file__]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[python]]></category>
<pubDate>Tue, 07 Oct 2008 10:46:40 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?372</guid> 
<description>
<![CDATA[ 
	　　在PHP中有一个魔法常量__file__，里面保存着当前PHP文件所在的路径和文件名。<br/>　　在PYTHON中导入一些模块后也有__file__变量，不过问题是该模块本身并不能使用这个变量，所以要在py文件中调用文件所在的目录就是个问题了。<br/><br/>Python中可以使用os.getcwd()函数获得获取程序运行目录：<br/>os.getcwd()<br/>该函数不需要传递参数，它返回程序运行目录。需要说明的是，程序运行目录并不是指脚本所在的目录，而是当前命令行状态所在的目录。<br/>例如：<br/>>>> import os<br/>>>> os.getcwd()<br/>'C:&#92;&#92;Python25'<br/><br/>>>> os.chdir(r'C:&#92;temp')<br/>>>> os.getcwd()<br/>'C:&#92;&#92;temp'<br/><br/>上面的那个函数并不是我们想要的，我们要的是取的当前脚本文件所在目录，正确的是下面这段。<br/>os.path.split( os.path.realpath( sys.argv[0] ) )[0]<br/><br/>为了这个问题我找了一整天的资料呢，希望对大家有些帮助，本文由ArthurXF倾情奉献！<br/>Tags - <a href="tag.php?tag=python" rel="tag">python</a> , <a href="tag.php?tag=os" rel="tag">os</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?370</link>
<title><![CDATA[跟着ArthurXF学习python4——加载和释放python模块]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[python]]></category>
<pubDate>Mon, 06 Oct 2008 07:14:42 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?370</guid> 
<description>
<![CDATA[ 
	　　学习python，首要学会加载python的模块，其实这个命令很简单，就是import 模块名，这个命令很像php的require，加载了模块，我们就可以使用模块内的类函数等，一般我们操作都是在命令行状态下测试的，随着我们不断的import模块进来，加载的模块就越来越多了，会不会对我们的程序造成影响就不得而知了，所以我们必须将加载的模块释放掉。释放命令也很简单，就是del 模块名。这样我们就把加载的模块释放掉了。不用每次都把命令行状态窗口关掉，再开了。本文由ArthurXF倾情奉献！<br/>Tags - <a href="tag.php?tag=python" rel="tag">python</a> , <a href="tag.php?tag=import" rel="tag">import</a> , <a href="tag.php?tag=del" rel="tag">del</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?369</link>
<title><![CDATA[跟着ArthurXF学习python3——为python安装adodb]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[python]]></category>
<pubDate>Sun, 05 Oct 2008 05:34:24 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?369</guid> 
<description>
<![CDATA[ 
	　　上一课我们讲了安装MySQL for python，不过就算安装了mysql那也只是一个数据库，我们就想是不是能够为python安装一个数据库中间件呢？结果adodb又进入了我们的视线，adodb不仅支持php还支持python哦。所以我们今天就来安装adodb for python。本文由ArthurXF倾情奉献。<br/><br/>1.下载<br/><a href="http://sourceforge.net/project/showfiles.php?group_id=42718&package_id=179949&release_id=616646" target="_blank">下载adodb-220.zip</a><br/>2.看了说明我们必须要注意，adodb只是一个中间件，要让python支持各种数据库还是要安装各种数据库的python模块哦，我们这里主要讲mysql，好在我们上一课已经安装了mysql for python了，所以这里就不用再装了。如果没有安装的，请在这一步先安装mysql for python。<br/>3.解压安装adodb<br/>解压之后，进入dos状态，进入adodb-220目录，执行 python setup.py install<br/>4.验证<br/>在python命令行状态，执行import adodb，如果不报错就说明安装正确了。<br/>5.例子<br/>import adodb;<br/>conn = adodb.NewADOConnection('mysql')<br/>conn.Connect('server','user','pwd','db')<br/>cursor = conn.Execute('select * from table')<br/>while not cursor.EOF:<br/> &nbsp;print cursor.fields<br/> &nbsp;cursor.MoveNext()<br/>cursor.Close()<br/>conn.Close() <br/>更多例子可以看adodb附带的说明文档。<br/>Tags - <a href="tag.php?tag=python" rel="tag">python</a> , <a href="tag.php?tag=adodb" rel="tag">adodb</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?368</link>
<title><![CDATA[跟着ArthurXF学习python2——让python可以访问mysql]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[python]]></category>
<pubDate>Sun, 05 Oct 2008 05:13:35 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?368</guid> 
<description>
<![CDATA[ 
	　　其实这个动作也很简单，只是python不像PHP那样默认支持mysql，所以我们必须为python安装一个mysql的扩展库。<br/><br/>1.首先下载<br/><a href="http://sourceforge.net/project/showfiles.php?group_id=22307&package_id=15775&release_id=491012" target="_blank">MySQL for python</a><br/>因为我们是在windows下用的，所以我下载了一个MySQL-python-1.2.2.win32-py2.5.exe<br/>2.直接执行安装，只要你已经安装过python，那么安装会相当顺利，一切默认即可完成安装了。<br/>3.加载模块<br/>如果我们执行import MySQLdb，没有报错，说明安装成功了，不过千万要注意大小写哦，很容易搞错的。<br/>4.模块中的常用函数<br/>connect()方法用于连接数据库，返回一个数据库连接对象。如果要连接一个位于host.remote.com服务器上名为fourm的MySQL数据库，连接串可以这样写：<br/><br/>db = MySQLdb.connect(host="remote.com",user="user",passwd="xxx",db="fourm" )connect()的参数列表如下：<br/><br/>host，连接的数据库服务器主机名，默认为本地主机(localhost)。<br/><br/>user，连接数据库的用户名，默认为当前用户。<br/><br/>passwd，连接密码，没有默认值。<br/><br/>db，连接的数据库名，没有默认值。<br/><br/>conv，将文字映射到Python类型的字典。默认为MySQLdb.converters.conversions<br/><br/>cursorclass，cursor()使用的种类，默认值为MySQLdb.cursors.Cursor。<br/><br/>compress，启用协议压缩功能。<br/><br/>named_pipe，在windows中，与一个命名管道相连接。<br/><br/>init_command，一旦连接建立，就为数据库服务器指定一条语句来运行。<br/><br/>read_default_file，使用指定的MySQL配置文件。<br/><br/>read_default_group，读取的默认组。<br/><br/>unix_socket，在unix中，连接使用的套接字，默认使用TCP。<br/><br/>port，指定数据库服务器的连接端口，默认是3306。<br/><br/>连接对象的db.close()方法可关闭数据库连接，并释放相关资源。<br/><br/>连接对象的db.cursor([cursorClass])方法返回一个指针对象，用于访问和操作数据库中的数据。<br/><br/>连接对象的db.begin()方法用于开始一个事务，如果数据库的AUTOCOMMIT已经开启就关闭它，直到事务调用commit()和rollback()结束。<br/><br/>连接对象的db.commit()和db.rollback()方法分别表示事务提交和回退。<br/><br/>指针对象的cursor.close()方法关闭指针并释放相关资源。<br/><br/>指针对象的cursor.execute(query[,parameters])方法执行数据库查询。<br/><br/>指针对象的cursor.fetchall()可取出指针结果集中的所有行，返回的结果集一个元组(tuples)。<br/><br/>指针对象的cursor.fetchmany([size=cursor.arraysize])从查询结果集中取出多行，我们可利用可选的参数指定取出的行数。<br/><br/>指针对象的cursor.fetchone()从查询结果集中返回下一行。<br/><br/>指针对象的cursor.arraysize属性指定由cursor.fetchmany()方法返回行的数目，影响fetchall()的性能，默认值为1。<br/><br/>指针对象的cursor.rowcount属性指出上次查询或更新所发生行数。-1表示还没开始查询或没有查询到数据。<br/>5.使用例子<br/>#!/usr/bin/python<br/>import MySQLdb<br/>try: &nbsp; <br/> &nbsp;connection = MySQLdb.connect(user="user",passwd="password",host="xxx",db="test")except: <br/> &nbsp;print "Could not connect to MySQL server." <br/> &nbsp;exit( 0 )<br/>try:<br/> &nbsp; cursor = connection.cursor() <br/> &nbsp; cursor.execute( "SELECT note_id,note_detail FROM note where note_id = 1" ) <br/> &nbsp; print "Rows selected:", cursor.rowcount <br/> &nbsp; for row in cursor.fetchall():<br/> &nbsp; &nbsp; &nbsp; print "note : ", row[0], row[1]<br/> &nbsp; cursor.close()<br/>Tags - <a href="tag.php?tag=python" rel="tag">python</a> , <a href="tag.php?tag=mysql" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?365</link>
<title><![CDATA[跟着ArthurXF学习python1——编译python2.5用的pyXML]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[python]]></category>
<pubDate>Wed, 01 Oct 2008 05:09:56 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?365</guid> 
<description>
<![CDATA[ 
	　　python是一门非常好用的编程语言，架构清晰，代码少，功能强大，很多大型网站都在使用python，我因为要用python写《功夫之王》游戏的服务器端，开始学习python，感觉上手很快，我的项目使用了WDDX和FLASH通讯，所以就需要用pyxml模块了，上网下载发现这个模块尽让没有支持python2.5的，那么只好自己动手丰衣足食了。下面是我用MinGW编译pyxml的过程，借助这个过程，大家还可以自己动手编译很多不支持python2.5的模块。这里做个小广告，本人受聘于上海非凡进修学院授课CSS，PHP，FREEBSD等课程，有想学习的请跟我联系，是要收学费的哦。QQ：29011218.<br/><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">1.下载pyxml<br/>http://sourceforge.net/project/showfiles.php?group_id=6473<br/>如果我们安装的python是2.2，2.3，2.4，那么直接下载windows下专用的版本安装即可。本文主要介绍如何用源码编译出python2.5下用的pyxml。我们选择下载PyXML-0.8.4.tar.gz，下载后解压缩，我放在D:&#92;PyXML-0.8.4<br/>2.下载安装MinGW<br/>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780&release_id=595197<br/>因为我们是在windows下用的，就下载MinGW-5.1.4.exe，下载后安装，我安装在D:&#92;MinGW,安装的时候一定要选择MinGW base tools，g++ compiler，MinGW Make，其他的可以不选，不过如果你们想装个全的，就全部选上也可以，下载需要一段时间的，安全却很快。呵呵。<br/>3.设置系统环境变量<br/>将D:&#92;mingw&#92;bin加进系统环境变量，如果是VISTA系统，建议使用下面的批处理文件。<br/>建立一个path.bat文件，里面放入如下内容：<br/>@echo off<br/><br/>echo MinGW Enviroment Command Console<br/>echo ....<br/>echo ....<br/>@set MINGWROOT=D:&#92;MinGW<br/>@set MINGWBIN=%MINGWROOT%&#92;bin<br/>@set MINGWINCLUDE=%MINGWROOT%&#92;include<br/>@set MINGWLIB=%MINGWROOT%&#92;lib<br/>@set MINGWLIBEXEC=%MINGWROOT%&#92;libexec&#92;gcc&#92;mingw32&#92;3.4.5<br/>@set MINGWBIN2=%MINGWROOT%&#92;mingw32&#92;bin<br/>@set MINGWLIB2=%MINGWROOT%&#92;mingw32&#92;lib&#92;ldscripts<br/>@set MINGW=%MINGWROOT%;%MINGWBIN%;%MINGWINCLUDE%;%MINGWLIB%;%MINGWLIBEXEC%;%MINGWLIB2%;%MINGWLIB2%<br/><br/>rem to add more resource paths just use the set command like above and the and it to the set PATH like below<br/><br/>@set Path=%MINGW%;%Path%<br/>保存在dos模式下执行，然后用path确认如上的路径是否加入环境变量中。<br/>4.设置配置文件指定编译器<br/>在你安装python的路径建立一个配置文件。例如下面我建立的，记得路径和文件名要一样啊。<br/>D:&#92;Python25&#92;Lib&#92;distutils&#92;distutils.cfg<br/>在这个文件里面放入如下内容：<br/>[build]<br/>compiler=mingw32<br/>保存就好了。<br/>5.编译<br/>进入dos模式，进入PyXML目录，执行下面的命令<br/>python setup.py install<br/>结果报了Ｎ个如下错误。<br/>build&#92;temp.win32-2.5&#92;Release&#92;extensions&#92;pyexpat.o:pyexpat.c:(.text+0x1b1): undef<br/>ined reference to `_imp___Py_NoneStruct'<br/>不要慌张，经过我查阅资料后，找到的解决方案<br/>6.解决<br/>原因是python的扩展需要专门的类库处理，我这里有一个处理好的类库给大家，大家直接下载覆盖。<br/>D:&#92;Python25&#92;libs&#92;python25.lib,最好把以前的python25.lib备份一下，以备不时只需。<br/><a href="http://www.bizeway.net/attachment/python25.lib" target="_blank">点击下载我编译好的python25.lib文件</a>。<br/>7.再编译<br/>再执行第5步的命令<br/>python setup.py install<br/>这次编译直接通过。<br/>8.验证<br/>进入python命令行交互界面运行“import xml.dom.ext"命令，如果没提示模块出错则说明安装成功。</div></div><br/>希望上面的方法能够对大家有些帮助。本文由ArthurXF倾情奉献！<br/>Tags - <a href="tag.php?tag=python" rel="tag">python</a> , <a href="tag.php?tag=pyxml" rel="tag">pyxml</a>
]]>
</description>
</item>
</channel>
</rss>