代码改变世界

随笔分类 -python(原创)

服务器上的文件的上传和下载

2015-10-28 13:25 by Rollen Holt, 1638 阅读, 收藏, 编辑
服务器上的文件的上传和下载我们有很多种方式上传文件到服务器上,比如 , 比如使用命令行工具: , 等等的。我之前经常使用的是 这个命令,但是在Mac下经常乱码然后卡住不动了,所以我很崩溃。下面说说我现在采用的办法吧。 下载文件 python mSimpleHTTPServer9999 上传...

windows下apache+wsgi+web.py环境搭建

2012-08-09 23:23 by Rollen Holt, 6764 阅读, 收藏, 编辑
首先安装好wsgi模块并启用:1.下载地址:我本机是python2.7http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so2.把mod_wsgi-win32-ap22py27-3.3.so放到apache安装目录下的modules目录下3.打开 http.conf添加:LoadModule wsgi_module modules/mod_wsgi-win32-ap22py27-3.3.so下载安装web.py模块:easy_install -U web.py或者手动下载安装:1

Code a network packet sniffer in python for Linux

2012-07-14 00:17 by Rollen Holt, 7316 阅读, 收藏, 编辑
Basic SnifferThe most basic form of a sniffer would be :1#Packet sniffer in python2#For Linux34importsocket56#create an INET, raw socket7s=socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)89# receive a packet10whileTrue:11prints.recvfrom(65565)Run this with root privileges or sudo o

Python标准库-string模块《未完待续》

2012-06-05 22:08 by Rollen Holt, 1956 阅读, 收藏, 编辑
>>> import string>>> s='hello rollen , how are you '>>> string.capwords(s)'Hello Rollen , How Are You' #每个单词的首字母大写>>> string.split(s)['hello', 'rollen', ',', 'how', 'are', 'you'] #划分为列...

python操作MySQL数据库

2012-05-29 17:41 by Rollen Holt, 352981 阅读, 收藏, 编辑
坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧:import MySQLdbtry: conn=MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',port=3306) cur=conn.cursor() cur.execute('select * from use

理解Python中的装饰器

2012-05-02 23:07 by Rollen Holt, 42186 阅读, 收藏, 编辑
文章先由stackoverflow上面的一个问题引起吧,如果使用如下的代码: @makebold@makeitalicdef say(): return "Hello"打印出如下的输出: <b><i>Hello<i></b>你会怎么做?最后给出的答案是: def makebold(fn): def wrapped(): return "<b>" + fn() +...

用PDB库调试Python程序

2012-04-24 23:22 by Rollen Holt, 2690 阅读, 收藏, 编辑
用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前 python -m pdb myscript.py 2. 在Python交互环境中启用调试 >>> import pdb >>> import mymodule >>> pdb.run(‘mymodule.test()’) 在 Python...

关于python文件操作

2012-04-23 11:28 by Rollen Holt, 405690 阅读, 收藏, 编辑
总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判断是否是绝对路径:os.path.isabs()检验给出的路径是

python日期操作

2012-04-11 07:38 by Rollen Holt, 35933 阅读, 收藏, 编辑
datetime模块定义了下面这几个类: datetime.date:表示日期的类。常用的属性有year, month, day.datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond.datetime.datetime:表示日期时间。datetime.timedelta:表示时间间隔,即两个时间点之间的长度。datetim...

Python日期操作

2012-04-10 23:30 by Rollen Holt, 35137 阅读, 收藏, 编辑
1. 日期输出格式化 所有日期、时间的api都在datetime模块内。 1. datetime => string now = datetime.datetime.now()now.strftime('%Y-%m-%d %H:%M:%S')输出2012-03-05 16:26:23.870105strftime是datetime类的实例方法。2. string => datetimet...

"仿matlab科学软件"项目准备

2011-12-08 17:11 by Rollen Holt, 664 阅读, 收藏, 编辑
最近会发一些小的零散的文章,为自己的寒假的项目做准备#coding=utf-8import matplotlib.pyplot as pltfig=plt.figure("hello") #设置标题栏fig.suptitle("bold figure suptitle",fontsize=12,fontweight="bold")ax = fig.add_subplot(111)fig.subplots_adjust(top=0.85)ax.set_title('axes title')ax.set_xlabel(&q

python操作gmail

2011-12-08 13:48 by Rollen Holt, 1264 阅读, 收藏, 编辑
import imaplib, reclass pygmail(object): def __init__(self): self.IMAP_SERVER='imap.gmail.com' self.IMAP_PORT=993 self.M = None self.response = None self.mailboxes = [] def login(self, username, password): self.M = imaplib.IMAP4_SSL(self.IMAP_SERVER, self.IMAP_PORT) rc, self.response = self.

BeautifulSoup学习笔记

2011-12-01 23:08 by Rollen Holt, 736 阅读, 收藏, 编辑
from BeautifulSoup import BeautifulSoupimport redoc = ['<html><head><title>Page title</title></head>', '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.', '<p id="secondpara"

python的xml.dom学习笔记

2011-12-01 20:14 by Rollen Holt, 4663 阅读, 收藏, 编辑
首先说一下,由于这篇文章主要是自己随性学习写的,所以读者看起来可能很乱,呵呵。可以给大家稍微推荐一篇:http://www.cnblogs.com/xuxm2007/archive/2011/01/16/1936610.html稍微清晰一点#coding=utf-8#解析xml文件中的所有的link标签from xml.dom import minidomfrom xml.dom.minidom import getDOMImplementationdoc=minidom.parse("d:\\hello.html")nodes=doc.getElementsByTagNa

python的HTMLParser学习

2011-12-01 18:55 by Rollen Holt, 14697 阅读, 收藏, 编辑
先来大致看看HTMLParser的源代码吧:"""A parser for HTML and XHTML."""# This file is based on sgmllib.py, but the API is slightly different.# XXX There should be a way to distinguish between PCDATA (parsed# character data -- the normal case), RCDATA (replaceable character# data -- on

python标准库学习9

2011-11-27 12:26 by Rollen Holt, 756 阅读, 收藏, 编辑
fileinput模块允许你循环一个或多个文本文件的内容使用 fileinput 模块循环一个文本文件import fileinputimport sysfor line in fileinput.input("samples/sample.txt"): sys.stdout.write("-> ") sys.stdout.write(line)-> We will perhaps eventually be writing only small-> modules which are identified by name as the

python标准库学习8

2011-11-27 11:30 by Rollen Holt, 1433 阅读, 收藏, 编辑
使用sys重定向输出import sysimport stringclass Redirect: def _ _init_ _(self, stdout): self.stdout = stdout def write(self, s): self.stdout.write(string.lower(s))# redirect standard output (including the print statement)# 重定向标准输出(包括print语句)old_stdout = sys.stdoutsys.stdout = Redirect(s...

python标准库学习7

2011-11-26 22:30 by Rollen Holt, 3941 阅读, 收藏, 编辑
使用 os.path 模块处理文件名import osfilename = "my/little/pony"print "using", os.name, "..."print "split", "=>", os.path.split(filename)print "splitext", "=>", os.path.splitext(filename)print "dirname", "=>", o

python标准库学习6

2011-11-26 20:49 by Rollen Holt, 2422 阅读, 收藏, 编辑
使用 apply 函数def function(a, b): print a, bapply(function, ("whither", "canada?"))apply(function, (1, 2 + 3)) whither canada? 1 5使用 apply 函数传递关键字参数def function(a, b): print a, bapply(function, ("crunchy", "frog"))apply(function, ("crunchy",), {"b&

python标准库学习5 ---bisect — Array bisection algorithm

2011-11-26 13:19 by Rollen Holt, 1250 阅读, 收藏, 编辑
#coding=utf-8import bisectlist=[1,2,3,4,6,7,8,9] #假定list已经排序print bisect.bisect_left(list,5) #返回5应该插入的索引位置print bisect.bisect_right(list, 5)print bisect.bisect(list,5)bisect.insort_left(list, 5, 0, len(list))print listbisect.insort_right(list, 5)print listdef index(a, x): 'Locate the leftmost ..

python标准库学习4

2011-11-26 12:56 by Rollen Holt, 589 阅读, 收藏, 编辑
>>> os.environ["HOME"]'C:\\Users\\Administrator'>>> os.getcwd() #获得当前的目录'D:\\new'>>> os.getenv("QTDIR") #获取环境变量的值'D:\\vs2010-qt-src-4.7.4\\qt-src-4.7.4'os.putenv(varname, value) #设置环境变量的值os.mkdir(path[, mode])>>> os.mkdi

os.path学习

2011-11-25 23:48 by Rollen Holt, 1695 阅读, 收藏, 编辑
#coding=utf-8import osprint os.path.abspath("d:\\new\\test.txt")print os.path.basename("d:\\new\\test.txt")print os.path.dirname("d:\\new\\test.txt") print os.path.exists("d:\\new")print os.path.lexists("d:\\new")print os.path.expanduser("d:\\ne

python内建函数(不完全)

2011-11-25 19:07 by Rollen Holt, 1076 阅读, 收藏, 编辑
各位还是参考官方文档吧,我这些是自己感觉重要和常用的abs()all(iterable) 如果迭代序列中所有的元素都为真,或者迭代序列为空的时候返回True。等价于:def all(iterable): for element in iterable: if not element: return False return Trueall(iterable) 如果迭代序列中所有的元素都为真,返回True。等价于def any(iterable): for element in iterable: if element: ...

python异常继承树

2011-11-25 19:05 by Rollen Holt, 1170 阅读, 收藏, 编辑
BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration +-- StandardError | +-- BufferError | +-- ArithmeticError | | +-- FloatingPointError | | +-- OverflowError | | +-- ZeroDivisionError | ...

Python中的string模块的学习

2011-11-25 19:04 by Rollen Holt, 28342 阅读, 收藏, 编辑
学习资料:http://docs.python.org/library/string.html#string.Formatter感觉学习任何东西,官方的东西总是最好的,呵呵。个人总结(代码为主,相信有python基础的都能看懂):>>> import string>>> string.ascii_letters'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'>>> string.ascii_lowercase'abcdefghijklmnopqrstuvwx

PyQt基本操作

2011-11-16 22:27 by Rollen Holt, 46293 阅读, 收藏, 编辑
PyQt的简介和基本安装方法读者可以自行google解决。先声明,本文章教基础,参考《征服Python》相关章节。不过不得不说,pyQt的教程真的好少,╮(╯▽╰)╭,悲催,大家有什么好的资料推荐一下,谢谢了。先建立一个基本的界面看看:import sysfrom PyQt4 import QtCore, QtGuiclass MyWindow( QtGui.QMainWindow ): def __init__( self ): QtGui.QMainWindow.__init__( self ) self.setWindowTitle( "PyQt" )...

python核心编程--笔记(不定时跟新)

2011-11-09 23:12 by Rollen Holt, 43524 阅读, 收藏, 编辑
的解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成.pyo文件)1.3 –S 不导入site模块以在启动时查找python路径1.4 –v 冗余输出(导入语句详细追踪)1.5 –m mod 将一个模块以脚本形式运行1.6 –Q opt 除法选项(参阅文档)1.7 –c cmd 运行以命令行字符串心事提交的python脚本1.8 file 以给定的文件运行python脚本2 _在解释器中表示最后一个表达式的值.3 print支持类c的printf格式化输出: print “%s is number %d!” % (“python”, 1)4 print的输入内

python多线程学习

2011-08-09 09:17 by Rollen Holt, 4887 阅读, 收藏, 编辑
今天在学习尝试学习python多线程的时候,突然发现自己一直对super的用法不是很清楚,所以先总结一些遇到的问题。当我尝试编写下面的代码的时候:class A(): def __init__( self ): print "A"class B( A ): def __init__( self ): super( B, self ).__init__( )# A.__init__( self ) print "B"b = B()出现:super( B, self ).__init__()TypeError: must be type, not class

python标准库学习3

2011-08-08 15:53 by Rollen Holt, 1021 阅读, 收藏, 编辑
import operatorsequence = 1, 2, 4print "add", "=>", reduce(operator.add, sequence)print "sub", "=>", reduce(operator.sub, sequence)print "mul", "=>", reduce(operator.mul, sequence)print "concat", "=>", operat

python标准库学习2

2011-08-08 13:18 by Rollen Holt, 702 阅读, 收藏, 编辑
列出指定目录中的所有文件:import osfor file in os.listdir( "../src" ): print file获得,修改当前的目录import os# where are we?cwd = os.getcwd()print "1", cwd# go downos.chdir( "../" )print "2", os.getcwd()# go back upos.chdir( os.pardir )print "3", os.getcwd()创建目录,删除目录impor

python标准库学习1

2011-08-08 00:26 by Rollen Holt, 1329 阅读, 收藏, 编辑
本系列是本人学习python标准库的一些笔记,呵呵,此处由于时间的关系,只给出代码,至于运行结果我没有放上去,大家见谅。因为那个太麻烦了。#-----使用字典或者元祖中的参数调用元素def function( a, b ): print a, bapply( function, ( 1, 2 ) )apply( function, ( 1 , ), {"b":2} ) #注意这里的","apply( function, (), {"a":1, "b":2} )#apply 函数的一个常见用法是把构造函数参数从子类传

windows下面,MySQLdb的安装出错问题以及解决办法

2011-08-06 20:14 by Rollen Holt, 3061 阅读, 收藏, 编辑
今天在电脑上安装MySQLdb的时候,出现错误,是什么导入setuptools错误,然后又去下载了那个包,安装之后,还是错误,这次的错误是:[b]C:\Python25\MySQL-python-1.2.3c1>setup.py build[/b]Traceback (most recent call last): File "C:\Python25\MySQL-python-1.2.3c1\setup.py", line 15, in <module> metadata, options = get_config() File "C:\Pyth

python的静态方法

2011-08-05 13:20 by Rollen Holt, 605 阅读, 收藏, 编辑
staticmethod Found at: __builtin__staticmethod(function) -> method Convert a function to be a static method. A static method does not receive an implicit first argument. To declare a static method, use this idiom: class C: def f(arg1, arg2, ...): ... f = staticmethod(f) It can be called either on

python中的继承和抽象类的实现

2011-08-05 11:31 by Rollen Holt, 2320 阅读, 收藏, 编辑
#!/usr/local/bin/python# Fig 9.9: fig09_09.py# Creating a class hierarchy with an abstract base class.class Employee: """Abstract base class Employee""" def __init__(self, first, last): """Employee constructor, takes first name and last name. NOTE: Cannot

python实现的列表操作

2011-08-04 19:09 by Rollen Holt, 1402 阅读, 收藏, 编辑
纯属练手呵呵。class Node: """Single node in a data structure""" def __init__(self, data): """Node constructor""" self._data = data self._nextNode = None def __str__(self): """Node data representation""" return str(sel

python的图形化界面(1)

2011-08-04 15:37 by Rollen Holt, 9510 阅读, 收藏, 编辑
今天学习了python的图形化界面。遇到的问题,就是导入Tklinter类的时候,出现了错误,提示说模块不存在,但是最后在文件的头部添加一行代码之后解决:#! /usr/bin/env python 先创建一个空的界面窗口吧:#! /usr/bin/env python#coding=utf-8from Tkinter import *class LabelDemo( Frame ): """Demonstrate Labels""" def __init__( self ): """Create thr

Python中使用中文

2011-08-01 15:06 by Rollen Holt, 87217 阅读, 收藏, 编辑
python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。先来看看python的版本:>>> import sys>>> sys.version'2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]'(一)用记事本创建一个文件ChineseTest.py,默认ANSI:s = "中文"print s测试一下瞧瞧:E:/