Archive for the 'Python' Category

Python的脚本路径和shell路径的问题

在使用过程中遇到一个情况,就是在crontab中执行脚本的时候,出现无法载入要调用的文件的问题(要调用的文件和脚本放在相同目录下),测试结果发现是因为crontab执行的时候所在的目录,并不在脚本所在的目录位置,而脚本中写的是调用当前位置的文件,导致了整个错误。
Phentermine With Prescription And Facts
Cheap Generic Phentermine
Buy Href Phentermine
Tramadol 50 Mg 377
Order Phentermine Site
Phentermine False Postive
Bariatric Clinic Phentermine Greensboro Nc
Phentermine Op
Tramadol Online Tramadol Hcl Tramadol Cheap
Board Buy Online Tramadol Yy
Makr Of Tramadol
Drug Interactions Tramadol Elavil
Phentermine Pharmacology
Inition Co Uk Generic Tramadol
Other Names For Phentermine
Pravachol Protonix Phentermine Skelaxin
Buy Phentermine Check Money Order
Discount Generic Phentermine No Rx Needed
What […]

将python程序转为二进制运行

还不太清楚能不能在没有python的环境下运行,因为实在好像现在linux都有python安装。
编译的过程如下:

>>> import py_compile
>>> py_compile.compile(’abc.py’)
Valium Pills
Xanax Gaba Receptors
Ambien Water Solubility
Ambien Cheap Overnight
Tramadol Ultram And Acute Pain
Ambien Persciption
Xanax Dosage G3720
Cost Of Valium Vs Diazepam
Ambien Drug Reaction
Canadian Xanax 2mg No Prescription Upjohn
Chewable Valium
Tramadol Drug Screening
Xanax Drug Rep
Ambien Line
Tramadol 37.5
Klonopin Rating Xanax
Tramadol 50mg Potency Equivalent
Ativan Buy Tramadol Online
Generic Medication For Ambien
Tramadol Order By 3 00 Pm
Alcohol Equivalent To Valium
What […]

Twisted网络编程必备

虽然还没有用到wisted,但是发现很多文章都提到它,还是不错的。它是异步的、事件驱动的网络函数库。其它的我也不知道。。
这里给出一些文章的链接,回头再看。

Berkeley DB XML and python

Berkeley DB XML是一种原生的XML数据库,它允许将XML文档内容直接存储在数据库中。
由此,我想可以用它来存储一些简单的、不经常更新的、但是要求快速查询的数据。
我们通过一个简单的例子来说明,如何针对Berkeley DB XML来存储XML文档:
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
from bsddb.db import *
from dbxml import *
 
mgr = XmlManager()
uc = mgr.createUpdateContext()
 
container = mgr.openContainer("demo.dbxml", DB_CREATE)
 
filename = ‘demo’
fileContents = """<?xml version="1.0" encoding="UTF-8"?>
<result>OK</result>
"""
 
container.putDocument(filename, fileContents, uc)
在这个例子中,会创建一个名为demo.dbxml的数据库文件。
相应的,我们读取刚刚存储的内容,可以使用:
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
from bsddb.db import *
from dbxml import *
 
mgr = XmlManager()
 
container = mgr.openContainer("demo.dbxml")
container.addAlias("demo")
 
qc = mgr.createQueryContext()
 
results = mgr.query("collection(’demo’)/result", qc)
 
for value in results:
    document = value.asDocument()
    print document.getName(), "=", value.asString()
在实际应用过程中,发现当大量数据同时插入的时候,会产生类似以下的错误:

Traceback […]

Python 自省指南

什么是自省?
在日常生活中,自省(introspection)是一种自我检查行为。自省是指对某人自身思想、情绪、动机和行为的检查。伟大的哲学家苏格拉底将生命中的大部分时间用于自我检查,并鼓励他的雅典朋友们也这样做。他甚至对自己作出了这样的要求:“未经自省的生命不值得存在。”(请参阅参考资料以获取关于苏格拉底更多信息的链接。)
在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。一旦您使用了支持自省的编程语言,就会产生类似这样的感觉:“未经检查的对象不值得实例化。”
本文介绍了 Python 编程语言的自省能力。整个 Python 语言对自省提供了深入而广泛的支持。实际上,很难想象假如 Python 语言没有其自省特性是什么样子。在读完本文时,您应该能够非常轻松地洞察到自己 Python 对象的“灵魂”。
在深入研究更高级的技术之前,我们尽可能用最普通的方式来研究 Python 自省。有些读者甚至可能会争论说:我们开始时所讨论的特性不应称之为“自省”。我们必须承认,它们是否属于自省的范畴还有待讨论。但从本文的主旨出发,我们所关心的只是找出有趣问题的答案。
现在让我们以交互方式使用 Python 来开始研究。当我们从命令行启动 Python 时,就进入了 Python shell,在这里可以输入 Python 代码,而且立刻会从 Python 解释器获得响应。(本文中列出的命令可以使用 Python 2.2.2 正确执行。如果您使用较早的版本,则可能产生不同的结果或发生错误。可以从 Python 网站下载最新版本 [请参阅参考资料]。)
清单 1. 以交互方式启动 Python 解释器
$ python
Python 2.2.2 (#1, Oct 28 2002, 17:22:19)
[GCC 3.2 (Mandrake Linux 9.0 3.2-1mdk)] on linux2
Type “help”, “copyright”, “credits” or “license” […]

Python读写Berlekey DB XML的例子

#!/usr/bin/env python
# $Id: examples.py,v 1.23 2005/09/25 23:36:42 gmf Exp $
# As of Python 2.3, there is a built-in module for Berkeley DB,
# called bsddb.  The next uncommented line assumes that module is being used.
# If you are using your own bsddb3 module, use this line:
#      from bsddb3.db import *
from bsddb3.db import *
from dbxml import *
 
book_content […]

Python转码的问题

字符串内码的转换,是开发中经常遇到的问题。
在Java中,我们可以先对某个String调用getByte(),由结果生成新String的办法来转码,也可以用NIO包里面的Charset来实现。
在Python中,可以对String调用decode和encode方法来实现转码。
比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作
s.decode(’gbk’).encode(’utf-8′)
可是,在实际开发中,我发现,这种办法经常会出现异常:
UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 30664-30665: illegal multibyte sequence
这是因为遇到了非法字符——尤其是在某些用C/C++编写的程序中,全角空格往往有多种不同的实现方式,比如\xa3\xa0,或者\xa4\x57,这些字符,看起来都是全角空格,但它们并不是“合法”的全角空格(真正的全角空格是\xa1\xa1),因此在转码的过程中出现了异常。
这样的问题很让人头疼,因为只要字符串中出现了一个非法字符,整个字符串——有时候,就是整篇文章——就都无法转码。
幸运的是,tiny找到了完美的解决办法(我因此被批评看文档不仔细,汗啊……)
s.decode(’gbk’, ‘ignore’).encode(’utf-8′)
因为decode的函数原型是decode([encoding], [errors=’strict’]),可以用第二个参数控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;
如果设置为ignore,则会忽略非法字符;
如果设置为replace,则会用?取代非法字符;
如果设置为xmlcharrefreplace,则使用XML的字符引用。

Berkeley DB and python

Berkeley DB
产品首页 , 官方下载地址
Berkeley DB XML
产品首页 , 官方下载地址
首先,我们可以通过一个简单的例子来说明如何使用bsddb:
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
from bsddb import *
demodb = hashopen(’demo.db’, ‘c’)
for i in range(10):
    demodb[’%d’%i] = ‘%d’%(i*i)
我们通过一个简单的例子来说明,如何针对Berkeley DB XML来存储XML文档:
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
from bsddb.db import *
from dbxml import *
 
mgr = XmlManager()
uc = mgr.createUpdateContext()
 
container = mgr.openContainer("demo.dbxml", DB_CREATE)
 
filename = ‘demo’
fileContents = """<?xml version="1.0" encoding="UTF-8"?>
<result>OK</result>
"""
 
container.putDocument(filename, fileContents, uc)
在这个例子中,会创建一个名为demo.dbxml的数据库文件。
相应的,我们读取刚刚存储的内容,可以使用:
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
from bsddb.db import *
from dbxml import […]

Python编写MSN机器人

打算编写一个MSN机器人以便支持我的字典查询网站。
看了msnp的类,似乎能够满足我的基本需求。这些是一个简单的示例。

Python下的Lucene,PyLucene(转)

本文简单介绍了如何使用Python的Lucene创建全文检索方案。

Pages (2): [1] 2 »