
Python
文章平均质量分 55
myKernel
这个作者很懒,什么都没留下…
展开
-
Python 中全局变量的使用说明
在开发工作中全局变量虽然不常使用,但是Python中使用全局变量存在需要特殊说明的地方(使用关键词声明,这与PHP有类似之处),因此在这里记录下来:G_CONST_TEST = 0def testGlobalVar(): #注意,修改全局变量必须在修改处先声明 #否则会按局部变量处理 global G_CONST_TEST G_CONST_TES = 1原创 2013-06-21 21:27:04 · 1084 阅读 · 0 评论 -
Python mechanize 的一点说明
mechanize是非常合适的模拟浏览器的模块,它的特点主要有:1 http,https协议等。2 简单的HTML表单填写。3 浏览器历史记录和重载。4 Referer的HTTP头的正确添加(可选)。5 自动遵守robots.txt的。6 自动处理HTTP-EQUIV和刷新。所以你可以用mechanize来完成一些自动化浏览器想要做的事情,比如自动登录表单,自动填写表单转载 2013-06-28 18:49:50 · 8950 阅读 · 1 评论 -
实验室的一段Python脚本,根据用户指定路径来备份文件
一段Python脚本,根据用户指定路径来备份文件代码如下:#备份当前访问页面def bakCurAccPage(pathName, strHTML): if strHTML is None: print 'Error: Backup function parameter is invalid.' return False tm = str(getCurrentForm原创 2013-06-29 12:10:20 · 1104 阅读 · 0 评论 -
Python subprocess Popen 的一点说明
subprocess.Popen(args ,bufsize=0 ,executable=None ,stdin=None ,stdout=None ,stderr=None转载 2013-06-29 23:23:48 · 1368 阅读 · 0 评论 -
Python中range()函数和list的说明
使用python的人都知道range()函数和list很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下range()和list。>>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] >>> range(5) #代表从0到5(不包含5)转载 2013-06-30 09:31:45 · 15139 阅读 · 1 评论 -
BeautifulSoup库的基本使用说明-02
关于获取HTML中的title等标签,可以使用BeautifulSoup来完成以一段脚本举例说明:html_doc = 'The Dormouse's storyThe Dormouse's storyOnce upon a time there were three little sisters; and their names wereElsie,Lacie andTi原创 2013-06-29 15:55:25 · 998 阅读 · 0 评论 -
Python 利用PDB单步调试的一点说明
PDB (说明文档: http://docs.python.org/2/library/pdb.html)方法:运行 python-m pdb myscript.py(Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助(Pdb) h说明下这几个关键 命令>断点设置 (Pdb)b 10 #断点设置在本py的第10行或(Pdb)b ots.py:20转载 2013-06-29 23:32:15 · 9070 阅读 · 0 评论 -
Python中父类、子类的一点说明
Python中类的初始化方法是__init__(),因此父类、子类的初始化方法都是这个,如果子类不实现__init__()这个函数,初始化时调用父类的初始化函数,如果子类实现了这个函数,则要在这个函数里显式调用一下父类的__init__(),这跟C++,jAVA不一样,他们是自动调用父类构造函数的。#初始化中调用父类初始化方法示例#B是A的子类class B(A): def原创 2013-06-29 17:02:21 · 11465 阅读 · 0 评论 -
Python 文件IO操作的补充说明
通过python实现检查某文件是否存在:os.path.exists(文件名)例如:...pathRM = sys.path[0] + '/weibo_cookie.txt'if os.path.exists(pathRM): os.remove(pathRM)...1: os.listdir(path) //path为目录功能相当于在path目录下执行dir命令原创 2013-06-30 08:31:08 · 798 阅读 · 0 评论 -
Python glob模块的说明
glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:"*", "?", "[]"。"*"匹配0个或多个字符;"?"匹配单个字符;"[]"匹配指定范围内的字符,如:[0-9]匹配数字。glob.glob 返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,转载 2013-07-14 12:08:34 · 3589 阅读 · 0 评论 -
Python中mechanize库的简单使用说明
该库与urllib、urllib2类似,用一个简单的例子说明它的使用:#!/usr/bin/env/ python#coding=utf-8import mechanizeimport cookielib# Cookie Jarcj = cookielib.LWPCookieJar()# Browserbr = mechanize.Browser()br.set_coo原创 2013-06-28 14:06:43 · 3678 阅读 · 0 评论 -
Python导入MySQLdb库的说明
1.用easy_install进行安装:在linux命令终端输入: easy_install MySQL-python2.启动python,尝试导入MySQLdb库: >>>import MySQLdb如果出现诸如:"ImportError: libmysqlclient.so.18: cannot open shared object file: No such..."这样的原创 2013-06-22 09:44:04 · 2736 阅读 · 0 评论 -
Python 的文件IO相关操作说明
Python进行文件读写的函数为open或file:file_handler = open(filename,,mode)open modew以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容a以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建r+原创 2013-06-21 09:39:45 · 14125 阅读 · 0 评论 -
实验室的一段Python脚本 “备份文件操作”
#将原有文件备份,并清空原文件内容#!/usr/bin/env/ python#coding=utf-8import shutilimport os import sysfrom time import strftime, localtime #from datetime import timedelta, date import calendar #文本备份接口def原创 2013-06-22 11:05:06 · 1015 阅读 · 0 评论 -
Python中startswith和endswith的一些说明
如果你要用python匹配字符串的开头或末尾是否包含一个字符串,就可以用startswith 和 endswith例如: content = 'ilovepython'如果字符串content以ilove开始,返回True,否则返回False则可以用这句脚本进行判断: if content.startswith("ilove") : .......>>>返回trueif co原创 2013-06-22 19:54:14 · 46940 阅读 · 0 评论 -
Python time 模块中sleep的使用说明
Python 编程中使用 time 模块可以让程序休眠,具体方法是time.sleep(秒数),其中"秒数"以秒为单位,可以是小数,0.1秒则代表休眠100毫秒。 # 例1:循环输出休眠1秒import timei = 1while (i <= 3): print i i += 1 time.sleep(1) # 休眠1秒# 例1:循环输出休眠100原创 2013-06-24 10:32:17 · 16369 阅读 · 1 评论 -
处理urlli,urllib2异常的一点说明
我们可以通过捕获提交request后,服务器返回的response包中的内容来分析当前的连接状态,之前在实验室的一段网络连接代码中实现了这部分的异常捕获。 代码如下:import urllib2 try: page = urllib2.urlopen("some url")except urllib2.HTTPError, err: if err.code == 40原创 2013-07-09 16:05:56 · 1608 阅读 · 0 评论 -
用easy_install更新到BeautifulSoup4的说明
以使用easy_install更新BeautifulSoup为例说明:1.在linux命令终端输入: # easy_install -m BeautifulSoup卸载掉原有的BeautiflSoup(例如本机的是:3.2.1)2.在linux命令终端输入: # easy_install BeautifulSoup4进行BeautifulSoup“4”的安装原创 2013-06-24 22:18:51 · 2484 阅读 · 0 评论 -
Python log的说明
import logging logger = logging.getLogger() # 生成一个日志对象 logfile = 'test.log' hdlr = logging.FileHandler('sendlog.txt') formatter = logging.Formatter('%(asctime)s %(leveln转载 2013-06-27 18:41:45 · 780 阅读 · 0 评论 -
从文件中读取内容,并去掉换行符'\n'的一种简单方法
打开文件后,可以用readlines将每一行的内容读取到一个“列表”中, 获取列表中每个元素,利用字符串的strip('\n')去掉换行符例如:lines = fd.readlines()for line in lines: line=line.strip('\n')当然处理某行也可以,例如:...lines = fd.readlines()#第二行去换行符原创 2013-06-30 19:30:20 · 17847 阅读 · 0 评论 -
实验室中一段监听某程序结束后自动重启该改程序的Python脚本
实验室中一段监听某程序结束后自动重启该改程序的Python脚本#!/usr/bin/env python#coding=utf-8import subprocess import sysimport osimport timedef changeWBAccount(iPos):#一段处理获得登录信息的函数 # ... return userName, userPwdif原创 2013-06-30 22:34:37 · 2779 阅读 · 0 评论 -
Python标准库 子进程 (subprocess包) 的说明
这里的内容以Linux进程基础和Linux文本流为基础。subprocess包主要功能是执行外部的命令和程序。比如说,我需要使用wget下载文件。我在Python中调用wget程序。从这个意义上来说,subprocess的功能与shell类似。 1. subprocess以及常用的封装函数当我们运行python的时候,我们都是在创建并运行一个进程。正如我们在Linux进程基础中介绍的那转载 2013-07-02 12:22:24 · 726 阅读 · 0 评论 -
Python线程使用指南
1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1.2. 线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"set"开始改的时转载 2013-07-28 11:00:06 · 758 阅读 · 0 评论 -
Python单例模式的4种实现方法
#-*- encoding=utf-8 -*-print '----------------------方法1--------------------------'#方法1,实现__new__方法#并在将一个类的实例绑定到类变量_instance上,#如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回#如果cls._instance不为None,直接返回c转载 2013-07-28 18:03:29 · 606 阅读 · 0 评论 -
python 判断字符串方法
s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小写s.isupper() 所有字符都是大写s.istitle() 所有单词都是首字母大写,像标题s.isspace() 所有字符都是空白字符、 、、判断是整数还是浮点数a=123b转载 2013-08-09 12:57:43 · 1019 阅读 · 0 评论 -
Python shutil模块学习
shutil模块拷贝目录拷贝文件拷贝文件的时候,如果指定的文件目的位置之间有目录不存在,则会抛出错误。所以最好在拷贝之间确认目录存在。当目录存在的时候,拷贝文件就没有问题了。删除目录使用如下函数:shutil.rmtree('d:/dd')移动文件或者文件夹到另外一个地方:shutil.move('d:/c.p转载 2014-01-07 20:48:37 · 941 阅读 · 0 评论 -
Python 实现一个小功能: 删除某路径下文件及文件夹的脚本
#!/usr/bin/env pythonimport osimport shutilfilelist = []delDir = "/home/test"delList = os.listdir(delDir )for f in delList: filePath = os.path.join( delDir, f ) if os.path.isfile原创 2014-01-07 20:44:37 · 11707 阅读 · 1 评论 -
Python 提交表单数的一点简单介绍
今天我们花些时间来看下三种用python提交一个web表单的方法,因此,我们用搜索引擎duckduckgo.com以"python"为关键词进行搜索,然后将结果保存为一个HTML文件,我们用python自带的urllib模块和两个第三方包:requests 和mechanize.,我们用三个小脚本来进行测试.用urllib提交一个web表单我们开始需要用到urllib和urllib转载 2014-06-30 18:26:33 · 7366 阅读 · 0 评论 -
Python产生随机数(转)
随机整数:>>> import random>>> random.randint(0,99)21随机选取0到100间的偶数:>>> import random>>> random.randrange(0, 101, 2)42随机浮点数:>>> import random>>> random.random() 0.85415370477785668转载 2014-06-29 22:35:33 · 740 阅读 · 0 评论 -
Python中 2进制,8进制,16进制数的相关表示
Python中:2进制是以0b开头的: 例如: 0b11 则表示十进制的38进制是以0开头的: 例如: 011则表示十进制的9 16进制是以0x开头的: 例如: 0x11则表示十进制的17------------------------------------------------------------------------- #10进制转为2进制>>>原创 2014-12-03 12:01:25 · 27718 阅读 · 0 评论 -
centOS 6.4 (64bit) 安装 Python 2.7.5
(1)要确保yum可以使用,如果卸载了默认的python 2.6a.到安装盘的Packages中找到python2.6的rpm包b.执行rpm -Uvh --replacepkgs rpm包名称.rpm 安装原有python版本,使得yum可以工作(2)先安装GCC,用如下命令(安装python之前,最好确认一下gcc是否安装,否则./configure 阶段就会报错了。)原创 2013-08-03 16:23:51 · 7541 阅读 · 0 评论 -
Python thread的解析
一,在import thread之后,我们help(thread)一下,可以看到如下信息:NAME threadFILE (built-in)DESCRIPTIONThis module provides primitive operations to write multi-threaded programs.The 'threading' m转载 2013-07-28 11:21:51 · 1079 阅读 · 0 评论 -
Python实验室一段日志代码,获取当前调用的函数名和行号
代码如下:import sysdef get_cur_func(): try: raise Exception except: f = sys.exc_info()[2].tb_frame.f_back return (f.f_code.co_name, f.f_lineno) def callfunc(): print g原创 2013-07-05 22:30:11 · 5762 阅读 · 0 评论 -
Python针对目录操作的一点说明
python中对文件、文件夹的操作需要涉及到os模块和shutil模块。 创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 创建目录:os.mkdir("file") 创建目录转载 2013-07-05 23:24:41 · 780 阅读 · 0 评论 -
Python使用UUID库生成唯一ID
资料: Python官方Doc:《20.15. uuid — UUID objects according to RFC 4122》 UUID的算法介绍:《A Universally Unique IDentifier (UUID) URN Namespace》概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示。 它可以保证时间和空间的唯转载 2013-07-22 18:02:38 · 1253 阅读 · 0 评论 -
Python MySQLdb库的一点说明 02
#-*-coding: utf8 -*-from connectdb import connectDatabase; #connectDatabase是我自己定义的一个连接数据库的函数import MySQLdb;def escape(): cnn = connectDatabase(); cursor = cnn.cursor();转载 2013-07-23 09:54:49 · 770 阅读 · 0 评论 -
Python MySQLdb库的一点说明 01
安装mysql模块sudo easy_install mysql-python连接数据库1 #!/usr/bin/env python2 #coding=utf-83 import MySQLdb4 conn = MySQLdb.connect('localhost','root','rootpass','oj',charset='utf8')5 cur = conn.cu转载 2013-07-23 09:59:22 · 815 阅读 · 0 评论 -
Python中使用epoll开发服务端程序
这是个很简单的C/S模型的程序,流程其实和C语言相差不大,客户端发送字符串,服务端再将该字符串返回客户端,epoll中使用的边缘触发。#服务端代码import socket, loggingimport select, errnologger = logging.getLogger("network-server")def InitLog(): logger.setLe转载 2013-07-30 11:18:15 · 2077 阅读 · 0 评论 -
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞socket。首先,先了解下SocketServer模块中可供使用的类:BaseServer:包含服务器的核心功能与混合(mix-in)类挂钩;这个类只用于派生,所以不会生成这个类的实例;可以考虑使用TCPServer和UDPServer。TCPServer/UDPServer:基本的网络同步TCP/UDP服务器。原创 2013-07-31 11:04:53 · 34376 阅读 · 1 评论 -
处理Python中urllib2/mechanize库进行socket通信超时的问题
最近实验室的网络状况不太稳定,信息采集程序经常阻塞在通信时的recv()处,Python的urllib2/mechanize库在做HTTP访问时,是用socket方式进行通信,那么我们可以设置一个timeout值,来检测是否超时,并作出相应的异常处理。异常处理的几个片段代码如下:import socketimport urllib2try: resp = urllib2原创 2013-07-25 13:37:54 · 3525 阅读 · 0 评论