class="hljs-ln-numbers">
class="hljs-ln-code">
os.remove() 删除文件
class="hljs-ln-numbers">
class="hljs-ln-code">
os.unlink() 删除文件
class="hljs-ln-numbers">
class="hljs-ln-code">
os.rename() 重命名文件
class="hljs-ln-numbers">
class="hljs-ln-code">
os.listdir() 列出指定目录下所有文件
class="hljs-ln-numbers">
class="hljs-ln-code">
os.chdir() 改变当前工作目录
class="hljs-ln-numbers">
class="hljs-ln-code">
os.getcwd() 获取当前文件路径
class="hljs-ln-numbers">
class="hljs-ln-code">
os.mkdir() 新建目录
class="hljs-ln-numbers">
class="hljs-ln-code">
os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree())
class="hljs-ln-numbers">
class="hljs-ln-code">
os.makedirs() 创建多级目录
class="hljs-ln-numbers">
class="hljs-ln-code">
os.removedirs() 删除多级目录
class="hljs-ln-numbers">
class="hljs-ln-code">
os.stat(file) 获取文件属性
class="hljs-ln-numbers">
class="hljs-ln-code">
os.chmod(file) 修改文件权限
class="hljs-ln-numbers">
class="hljs-ln-code">
os.utime(file) 修改文件时间戳
class="hljs-ln-numbers">
class="hljs-ln-code">
os.name(file) 获取操作系统标识
class="hljs-ln-numbers">
class="hljs-ln-code">
os.system() 执行操作系统命令
class="hljs-ln-numbers">
class="hljs-ln-code">
os.execvp() 启动一个新进程
class="hljs-ln-numbers">
class="hljs-ln-code">
os.fork() 获取父进程ID,在子进程返回中返回0
class="hljs-ln-numbers">
class="hljs-ln-code">
os.execvp() 执行外部程序脚本(Uinx)
class="hljs-ln-numbers">
class="hljs-ln-code">
os.spawn() 执行外部程序脚本(Windows)
class="hljs-ln-numbers">
class="hljs-ln-code">
os.access(path, mode) 判断文件权限(详细参考cnblogs)
class="hljs-ln-numbers">
class="hljs-ln-code">
os.wait() 暂时未知
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path模块:
class="hljs-ln-line hljs-ln-n" data-line-number="23">
class="hljs-ln-line">os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分离)
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">os.path.splitext(filename) 将文件路径和文件扩展名分割成一个元组
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.dirname(filename) 返回文件路径的目录部分
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.basename(filename) 返回文件路径的文件名部分
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.join(dirname,basename) 将文件路径和文件名凑成完整文件路径
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.abspath(name) 获得绝对路径
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.splitunc(path) 把路径分割为挂载点和文件名
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.normpath(path) 规范path字符串形式
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.exists() 判断文件或目录是否存在
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.isabs() 如果path是绝对路径,返回
class="hljs-keyword">True
class="hljs-ln-line hljs-ln-n" data-line-number="33">
class="hljs-ln-line">os.path.realpath(path) #返回path的真实路径
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.relpath(path[, start]) #从start开始计算相对路径
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.normcase(path) #转换path的大小写和斜杠
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">os.path.isdir() 判断name是不是一个目录,name不是目录就返回false
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.isfile() 判断name是不是一个文件,不存在返回false
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.islink() 判断文件是否连接文件,返回boolean
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.ismount() 指定路径是否存在且为一个挂载点,返回boolean
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.samefile() 是否相同路径的文件,返回boolean
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.getatime() 返回最近访问时间 浮点型
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.getmtime() 返回上一次修改时间 浮点型
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.getctime() 返回文件创建时间 浮点型
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.getsize() 返回文件大小 字节单位
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.lexists #路径存在则返回True,路径损坏也返回True
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.expanduser(path) #把path中包含的”~”和”~user”转换成用户目录
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.expandvars(path) #根据环境变量的值替换path中包含的”$name”和”${name}”
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组
class="hljs-ln-numbers">
class="hljs-ln-code">
os.path.walk(path, visit, arg) #遍历path,给每个path执行一个函数详细见手册
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">os.path.supports_unicode_filenames() 设置是否支持unicode路径名
stat模块:
class="hljs-ln-numbers">
class="hljs-ln-code">
描述os.stat()返回的文件属性列表中各值的意义
class="hljs-ln-numbers">
class="hljs-ln-code">
fileStats = os.stat(path) 获取到的文件属性列表
class="hljs-ln-numbers">
class="hljs-ln-code">
fileStats[stat.ST_MODE] 获取文件的模式
class="hljs-ln-numbers">
class="hljs-ln-code">
fileStats[stat.ST_SIZE] 文件大小
class="hljs-ln-numbers">
class="hljs-ln-code">
fileStats[stat.ST_MTIME] 文件最后修改时间
class="hljs-ln-numbers">
class="hljs-ln-code">
fileStats[stat.ST_ATIME] 文件最后访问时间
class="hljs-ln-numbers">
class="hljs-ln-code">
fileStats[stat.ST_CTIME] 文件创建时间
class="hljs-ln-numbers">
class="hljs-ln-code">
stat.S_ISDIR(fileStats[stat.ST_MODE]) 是否目录
class="hljs-ln-numbers">
class="hljs-ln-code">
stat.S_ISREG(fileStats[stat.ST_MODE]) 是否一般文件
class="hljs-ln-numbers">
class="hljs-ln-code">
stat.S_ISLNK(fileStats[stat.ST_MODE]) 是否连接文件
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">stat.S_ISSOCK(fileStats[stat.ST_MODE]) 是否COCK文件
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">stat.S_ISFIFO(fileStats[stat.ST_MODE]) 是否命名管道
class="hljs-ln-numbers">
class="hljs-ln-code">
stat.S_ISBLK(fileStats[stat.ST_MODE]) 是否块设备
class="hljs-ln-numbers">
class="hljs-ln-code">
stat.S_ISCHR(fileStats[stat.ST_MODE]) 是否字符设置
sys模块:
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.argv 命令行参数List,第一个元素是程序本身路径
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.modules.keys() 返回所有已经导入的模块列表
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.modules 返回系统导入的模块字段,key是模块名,value是模块
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.exit(n) 退出程序,正常退出时exit(0)
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.hexversion 获取Python解释程序的版本值,
class="hljs-number">16
进制格式如:0x020403F0
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.version 获取Python解释程序的版本信息
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.platform 返回操作系统平台名称
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.stdout 标准输出
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.stdout.write(‘aaa‘) 标准输出内容
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.stdout.writelines() 无换行输出
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.stdin 标准输入
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.stdin.read() 输入一行
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.stderr 错误输出
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.exec_prefix 返回平台独立的python文件安装的位置
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.byteorder 本地字节规则的指示器,big-endian平台的值是‘big‘,little-endian平台的值是‘little‘
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.copyright 记录python版权相关的东西
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.api_version 解释器的C的API版本
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.version_info ‘final‘表示最终,也有‘candidate‘表示候选,表示版本级别,是否有后继的发行
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.getdefaultencoding() 返回当前你所用的默认的字符编码格式
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">sys.getfilesystemencoding() 返回将Unicode文件名转换成系统文件名的编码的名字
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.builtin_module_names Python解释器导入的内建模块列表
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.executable Python解释程序路径
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.getwindowsversion() 获取Windows的版本
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">sys.stdin.readline() 从标准输入读一行,sys.stdout.write(“a”) 屏幕输出a
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">sys.setdefaultencoding(name) 用来设置当前默认的字符编码(详细使用参考文档)
class="hljs-ln-numbers">
class="hljs-ln-code">
sys.displayhook(value) 如果value非空,这个函数会把他输出到sys.stdout(详细使用参考文档)
datetime,date,time模块:
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime.date.today() 本地日期对象,(用str函数可得到它的字面表示(
class="hljs-number">2014
-03
class="hljs-number">-24
))
class="hljs-ln-line hljs-ln-n" data-line-number="2">
class="hljs-ln-line">datetime.date.isoformat(obj) 当前[年-月-日]字符串表示(2014
class="hljs-number">-03
-24)
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">datetime.date.fromtimestamp() 返回一个日期对象,参数是时间戳,返回 [年-月-日]
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime.date.weekday(obj) 返回一个日期对象的星期数,周一是
class="hljs-number">0
class="hljs-ln-line hljs-ln-n" data-line-number="5">
class="hljs-ln-line">datetime.date.isoweekday(obj) 返回一个日期对象的星期数,周一是1
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime.date.isocalendar(obj) 把日期对象返回一个带有年月日的元组
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime对象:
class="hljs-ln-line hljs-ln-n" data-line-number="8">
class="hljs-ln-line">datetime.datetime.today() 返回一个包含本地时间(含微秒数)的datetime对象
class="hljs-number">2014
-03
class="hljs-number">-24
23:31:
class="hljs-number">50.419000
class="hljs-ln-line hljs-ln-n" data-line-number="9">
class="hljs-ln-line">datetime.datetime.now([tz]) 返回指定时区的datetime对象
class="hljs-number">2014
-03
class="hljs-number">-24
23:31:
class="hljs-number">50.419000
class="hljs-ln-line hljs-ln-n" data-line-number="10">
class="hljs-ln-line">datetime.datetime.utcnow() 返回一个零时区的datetime对象
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime.fromtimestamp(timestamp[,tz]) 按时间戳返回一个datetime对象,可指定时区,可用于strftime转换为日期表示
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">datetime.utcfromtimestamp(timestamp) 按时间戳返回一个UTC-datetime对象
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime.datetime.strptime(‘
class="hljs-number">2014
-03
class="hljs-number">-16
12:21:
class="hljs-number">21
‘,”%Y-%m-%d %H:%M:%S”) 将字符串转为datetime对象
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime.datetime.strftime(datetime.datetime.now(), ‘%Y%m%d %H%M%S‘) 将datetime对象转换为str表示形式
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">datetime.date.today().timetuple() 转换为时间戳datetime元组对象,可用于转换时间戳
class="hljs-ln-numbers">
class="hljs-ln-code">
datetime.datetime.now().timetuple()
class="hljs-ln-numbers">
class="hljs-ln-code">
time.mktime(timetupleobj) 将datetime元组对象转为时间戳
class="hljs-ln-numbers">
class="hljs-ln-code">
time.time() 当前时间戳
class="hljs-ln-numbers">
class="hljs-ln-code">
time.localtime
class="hljs-ln-numbers">
class="hljs-ln-code">
time.gmtime
hashlib,md5模块:
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">hashlib.md5(‘md5_str‘).hexdigest() 对指定字符串md5加密
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">md5.md5(‘md5_str‘).hexdigest() 对指定字符串md5加密
random模块:
class="hljs-ln-line hljs-ln-n" data-line-number="1">
class="hljs-ln-line">random
class="hljs-selector-class">.random
() 产生0-1的随机浮点数
class="hljs-ln-numbers">
class="hljs-ln-code">
random
class="hljs-selector-class">.uniform
(a,
class="hljs-selector-tag">b
) 产生指定范围内的随机浮点数
class="hljs-ln-line hljs-ln-n" data-line-number="3">
class="hljs-ln-line">random
class="hljs-selector-class">.randint
(a,
class="hljs-selector-tag">b
) 产生指定范围内的随机整数
class="hljs-ln-line hljs-ln-n" data-line-number="4">
class="hljs-ln-line">random.randrange(
class="hljs-selector-attr">[start]
, stop
class="hljs-selector-attr">[, step]
) 从一个指定步长的集合中产生随机数
class="hljs-ln-numbers">
class="hljs-ln-code">
random
class="hljs-selector-class">.choice
(
class="hljs-selector-tag">sequence
) 从序列中产生一个随机数
class="hljs-ln-line hljs-ln-n" data-line-number="6">
class="hljs-ln-line">random
class="hljs-selector-class">.shuffle
(x
class="hljs-selector-attr">[, random]
) 将一个列表中的元素打乱
class="hljs-ln-line hljs-ln-n" data-line-number="7">
class="hljs-ln-line">random
class="hljs-selector-class">.sample
(sequence,
class="hljs-selector-tag">k
) 从序列中随机获取指定长度的片断
types模块:
class="hljs-ln-numbers">
class="hljs-ln-code">
保存了所有数据类型名称。
class="hljs-ln-numbers">
class="hljs-ln-code">
if type(‘
class="hljs-number">1111
‘) == types.StringType:
class="hljs-ln-line hljs-ln-n" data-line-number="3">
class="hljs-ln-line">MySQLdb模块:
class="hljs-ln-line hljs-ln-n" data-line-number="4">
class="hljs-ln-line">MySQLdb.get_client_info() 获取API版本
class="hljs-ln-line hljs-ln-n" data-line-number="5">
class="hljs-ln-line">MySQLdb.Binary(‘string‘) 转为二进制数据形式
class="hljs-ln-line hljs-ln-n" data-line-number="6">
class="hljs-ln-line">MySQLdb.escape_string(‘str‘) 针对mysql的字符转义函数
class="hljs-ln-numbers">
class="hljs-ln-code">
MySQLdb.DateFromTicks(
class="hljs-number">1395842548
) 把时间戳转为datetime.date对象实例
class="hljs-ln-numbers">
class="hljs-ln-code">
MySQLdb.TimestampFromTicks(1395842548) 把时间戳转为datetime.datetime对象实例
class="hljs-ln-numbers">
class="hljs-ln-code">
MySQLdb.string_literal(‘str‘) 字符转义
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">MySQLdb.cursor()游标对象上的方法:《python核心编程》P624
atexit模块:
atexit.register(fun,args,args2..) 注册函数func,在解析器退出前调用该函数
string模块
class="hljs-ln-numbers">
class="hljs-ln-code">
str.capitalize() 把字符串的第一个字符大写
class="hljs-ln-numbers">
class="hljs-ln-code">
str.center(width) 返回一个原字符串居中,并使用空格填充到width长度的新字符串
class="hljs-ln-numbers">
class="hljs-ln-code">
str.ljust(width) 返回一个原字符串左对齐,用空格填充到指定长度的新字符串
class="hljs-ln-numbers">
class="hljs-ln-code">
str.rjust(width) 返回一个原字符串右对齐,用空格填充到指定长度的新字符串
class="hljs-ln-numbers">
class="hljs-ln-code">
str.zfill(width) 返回字符串右对齐,前面用
class="hljs-number">0
填充到指定长度的新字符串
class="hljs-ln-line hljs-ln-n" data-line-number="6">
class="hljs-ln-line">str.count(str,[beg,len]) 返回子字符串在原字符串出现次数,beg,len是范围
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">str.decode(encodeing[,replace]) 解码string,出错引发ValueError异常
class="hljs-ln-numbers">
class="hljs-ln-code">
str.encode(encodeing[,replace]) 解码string
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">str.endswith(substr[,beg,end]) 字符串是否以substr结束,beg,end是范围
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">str.startswith(substr[,beg,end]) 字符串是否以substr开头,beg,end是范围
class="hljs-ln-numbers">
class="hljs-ln-code">
str.expandtabs(tabsize = 8) 把字符串的tab转为空格,默认为
class="hljs-number">8
个
class="hljs-ln-line hljs-ln-n" data-line-number="12">
class="hljs-ln-line">str.find(str,[stat,end]) 查找子字符串在字符串第一次出现的位置,否则返回
class="hljs-number">-1
class="hljs-ln-line hljs-ln-n" data-line-number="13">
class="hljs-ln-line">str.index(str,[beg,end]) 查找子字符串在指定字符中的位置,不存在报异常
class="hljs-ln-numbers">
class="hljs-ln-code">
str.isalnum() 检查字符串是否以字母和数字组成,是返回true否则
class="hljs-keyword">False
class="hljs-ln-line hljs-ln-n" data-line-number="15">
class="hljs-ln-line">str.isalpha() 检查字符串是否以纯字母组成,是返回true,否则false
class="hljs-ln-numbers">
class="hljs-ln-code">
str.isdecimal() 检查字符串是否以纯十进制数字组成,返回布尔值
class="hljs-ln-numbers">
class="hljs-ln-code">
str.isdigit() 检查字符串是否以纯数字组成,返回布尔值
class="hljs-ln-numbers">
class="hljs-ln-code">
str.islower() 检查字符串是否全是小写,返回布尔值
class="hljs-ln-numbers">
class="hljs-ln-code">
str.isupper() 检查字符串是否全是大写,返回布尔值
class="hljs-ln-numbers">
class="hljs-ln-code">
str.isnumeric() 检查字符串是否只包含数字字符,返回布尔值
class="hljs-ln-numbers">
class="hljs-ln-code">
str.isspace() 如果str中只包含空格,则返回true,否则FALSE
class="hljs-ln-numbers">
class="hljs-ln-code">
str.title() 返回标题化的字符串(所有单词首字母大写,其余小写)
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">str.istitle() 如果字符串是标题化的(参见title())则返回true,否则false
class="hljs-ln-numbers">
class="hljs-ln-code">
str.join(seq) 以str作为连接符,将一个序列中的元素连接成字符串
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">str.split(str=‘‘,num) 以str作为分隔符,将一个字符串分隔成一个序列,num是被分隔的字符串
class="hljs-ln-numbers">
class="hljs-ln-code">
str.splitlines(num) 以行分隔,返回各行内容作为元素的列表
class="hljs-ln-numbers">
class="hljs-ln-code">
str.lower() 将大写转为小写
class="hljs-ln-numbers">
class="hljs-ln-code">
str.upper() 转换字符串的小写为大写
class="hljs-ln-numbers">
class="hljs-ln-code">
str.swapcase() 翻换字符串的大小写
class="hljs-ln-numbers">
class="hljs-ln-code">
str.lstrip() 去掉字符左边的空格和回车换行符
class="hljs-ln-numbers">
class="hljs-ln-code">
str.rstrip() 去掉字符右边的空格和回车换行符
class="hljs-ln-numbers">
class="hljs-ln-code">
str.strip() 去掉字符两边的空格和回车换行符
class="hljs-ln-numbers">
class="hljs-ln-code">
str.partition(substr) 从substr出现的第一个位置起,将str分割成一个
class="hljs-number">3
元组。
class="hljs-ln-line hljs-ln-n" data-line-number="34">
class="hljs-ln-line">str.replace(str1,str2,num) 查找str1替换成str2,num是替换次数
class="hljs-ln-numbers">
class="hljs-ln-code">
str.rfind(str[,beg,end]) 从右边开始查询子字符串
class="hljs-ln-numbers">
class="hljs-ln-code">
str.rindex(str,[beg,end]) 从右边开始查找子字符串位置
class="hljs-ln-numbers">
class="hljs-ln-code">
str.rpartition(str) 类似partition函数,不过从右边开始查找
class="hljs-ln-numbers">
class="hljs-ln-code">
str.translate(str,del=‘‘) 按str给出的表转换string的字符,
class="hljs-keyword">del
是要过虑的字符
urllib模块:
class="hljs-ln-line hljs-ln-n" data-line-number="1">
class="hljs-ln-line">urllib.quote(string[,safe]) 对字符串进行编码。参数safe指定了不需要编码的字符
class="hljs-ln-numbers">
class="hljs-ln-code">
urllib.unquote(string) 对字符串进行解码
class="hljs-ln-numbers">
class="hljs-ln-code">
urllib.quote_plus(string[,safe]) 与urllib.quote类似,但这个方法用‘+‘来替换‘ ‘,而quote用‘%
class="hljs-number">20
‘来代替‘ ‘
class="hljs-ln-line hljs-ln-n" data-line-number="4">
class="hljs-ln-line">urllib.unquote_plus(
class="hljs-keyword">string
) 对字符串进行解码
class="hljs-ln-line hljs-ln-n" data-line-number="5">
class="hljs-ln-line">urllib.urlencode(query[,doseq]) 将dict或者包含两个元素的元组列表转换成url参数。
class="hljs-ln-numbers">
class="hljs-ln-code">
例如 字典{‘name‘:‘wklken‘,‘pwd‘:‘
class="hljs-number">123
‘}将被转换为”name=wklken&pwd=123″
class="hljs-ln-numbers">
class="hljs-ln-code">
urllib.pathname2url(path) 将本地路径转换成url路径
class="hljs-ln-numbers">
class="hljs-ln-code">
urllib.url2pathname(path) 将url路径转换成本地路径
class="hljs-ln-numbers">
class="hljs-ln-code">
urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下载远程数据到本地
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据)
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-line">reporthook:回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调
class="hljs-ln-numbers">
class="hljs-ln-code">
data:指post到服务器的数据
class="hljs-ln-numbers">
class="hljs-ln-code">
rulrs = urllib.urlopen(url[,data[,proxies]]) 抓取网页信息,[data]post数据到Url,proxies设置的代理
class="hljs-ln-numbers">
class="hljs-ln-code">
urlrs.readline() 跟文件对象使用一样
class="hljs-ln-numbers">
class="hljs-ln-code">
urlrs.readlines() 跟文件对象使用一样
class="hljs-ln-numbers">
class="hljs-ln-code">
urlrs.fileno() 跟文件对象使用一样
class="hljs-ln-numbers">
class="hljs-ln-code">
urlrs.
class="hljs-built_in">close
() 跟文件对象使用一样
class="hljs-ln-line hljs-ln-n" data-line-number="18">
class="hljs-ln-line">urlrs.info() 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
class="hljs-ln-numbers">
class="hljs-ln-code">
urlrs.getcode() 获取请求返回状态HTTP状态码
class="hljs-ln-numbers">
class="hljs-ln-code">
urlrs.geturl() 返回请求的URL
re模块:
class="hljs-ln-numbers">
class="hljs-ln-code">
一.常用正则表达式符号和语法:
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-string">'.'
匹配所有字符串,除\n以外
class="hljs-ln-line hljs-ln-n" data-line-number="3">
class="hljs-ln-line">‘-’ 表示范围[0
class="hljs-number">-9
]
class="hljs-ln-line hljs-ln-n" data-line-number="4">
class="hljs-ln-line">'*' 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
class="hljs-ln-numbers">
class="hljs-ln-code">
'+' 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+
class="hljs-ln-numbers">
class="hljs-ln-code">
'^' 匹配字符串开头
class="hljs-ln-numbers">
class="hljs-ln-code">
‘$’ 匹配字符串结尾 re
class="hljs-ln-numbers">
class="hljs-ln-code">
'\' 转义字符, 使后一个字符改变原来的意思,如果字符串中有字符*需要匹配,可以\*或者字符集[*] re.findall(r'
class="hljs-number">3
\*','3*ds
class="hljs-string">')结['
3*
class="hljs-string">']
class="hljs-ln-line hljs-ln-n" data-line-number="9">
class="hljs-ln-line">'*' 匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")结果:['a
class="hljs-string">b', '
ab', 'a
class="hljs-string">']
class="hljs-ln-line hljs-ln-n" data-line-number="10">
class="hljs-ln-line">‘?’ 匹配前一个字符串0次或1次 re.findall('ab?
class="hljs-string">','
abcabcabcadf')结果['ab', 'a
class="hljs-string">b', '
ab', 'a
class="hljs-string">']
class="hljs-ln-line hljs-ln-n" data-line-number="11">
class="hljs-ln-line">'{m}
class="hljs-string">' 匹配前一个字符m次 re.findall('
cb{1}
class="hljs-string">','
bchbchcbfbcbb')结果['c
class="hljs-string">b', '
cb']
class="hljs-ln-numbers">
class="hljs-ln-code">
'{n,m}
class="hljs-string">' 匹配前一个字符n到m次 re.findall('
cb{2,
class="hljs-number">3
}','bchbchcbfbcbb')结果['cb
class="hljs-string">b']
class="hljs-ln-numbers">
class="hljs-ln-code">
'\d
class="hljs-string">' 匹配数字,等于[0-9] re.findall('
\d','电话:
class="hljs-number">10086
')结果['
class="hljs-number">1
', '0
class="hljs-string">', '
0', '
class="hljs-number">8
', '6
class="hljs-string">']
class="hljs-ln-numbers">
class="hljs-ln-code">
'\D
class="hljs-string">' 匹配非数字,等于[^0-9] re.findall('
\D','电话:
class="hljs-number">10086
')结果['电
class="hljs-string">', '
话', ':
class="hljs-string">']
class="hljs-ln-line hljs-ln-n" data-line-number="15">
class="hljs-ln-line">'\w' 匹配字母和数字,等于[A-Za-z0-9] re.findall('\w
class="hljs-string">','
alex123,./;;;')结果['a
class="hljs-string">', '
l', 'e', 'x
class="hljs-string">', '
1', '
class="hljs-number">2
', '3
class="hljs-string">']
class="hljs-ln-numbers">
class="hljs-ln-code">
'\W
class="hljs-string">' 匹配非英文字母和数字,等于[^A-Za-z0-9] re.findall('
\W','alex123,./;;;
class="hljs-string">')结果['
,', '.
class="hljs-string">', '
/', ';', ';
class="hljs-string">', '
;
class="hljs-string">']
class="hljs-ln-line hljs-ln-n" data-line-number="17">
class="hljs-ln-line">'\s
class="hljs-string">' 匹配空白字符 re.findall('
\s','
class="hljs-number">3
*ds \t\n')结果['
class="hljs-string">', '
\t', '\n
class="hljs-string">']
class="hljs-ln-line hljs-ln-n" data-line-number="18">
class="hljs-ln-line">'\S
class="hljs-string">' 匹配非空白字符 re.findall('
\s','
class="hljs-number">3
*ds \t\n')结果['
class="hljs-number">3
', '*
class="hljs-string">', '
d', 's
class="hljs-string">']
class="hljs-ln-line hljs-ln-n" data-line-number="19">
class="hljs-ln-line">'\A
class="hljs-string">' 匹配字符串开头
class="hljs-ln-line hljs-ln-n" data-line-number="20">
class="hljs-ln-line">'\Z
class="hljs-string">' 匹配字符串结尾
class="hljs-ln-line hljs-ln-n" data-line-number="21">
class="hljs-ln-line">'\b' 匹配单词的词首和词尾,单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的
class="hljs-ln-numbers">
class="hljs-ln-code">
'\B
class="hljs-string">' 与\b相反,只在当前位置不在单词边界时匹配
class="hljs-ln-numbers">
class="hljs-ln-code">
'(?P<name>...)
class="hljs-string">' 分组,除了原有编号外在指定一个额外的别名 re.search("(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{8})","371481199306143242").groupdict("city") 结果{'
province
class="hljs-string">': '
3714', 'city
class="hljs-string">': '
81', 'birthday
class="hljs-string">': '
19930614
class="hljs-string">'}
class="hljs-ln-line hljs-ln-n" data-line-number="24">
class="hljs-ln-line">[] 是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-numbers">
class="hljs-ln-code">
class="hljs-ln-numbers">
class="hljs-ln-code">
二.常用的re函数:
class="hljs-ln-numbers">
class="hljs-ln-code">
方法/属性 作用
class="hljs-ln-numbers">
class="hljs-ln-code">
re.match(pattern, string, flags=0) 从字符串的起始位置匹配,如果起始位置匹配不成功的话,match()就返回none
class="hljs-ln-numbers">
class="hljs-ln-code">
re.search(pattern, string, flags=0) 扫描整个字符串并返回第一个成功的匹配
class="hljs-ln-numbers">
class="hljs-ln-code">
re.findall(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个列表返回
class="hljs-ln-numbers">
class="hljs-ln-code">
re.finditer(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个迭代器返回
class="hljs-ln-numbers">
class="hljs-ln-code">
re.sub(pattern, repl, string, count=0, flags=0) 替换匹配到的字符串
math模块
class="hljs-ln-numbers">
class="hljs-ln-code">
ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x
class="hljs-ln-numbers">
class="hljs-ln-code">
copysign:把y的正负号加到x前面,可以使用
class="hljs-number">0
class="hljs-ln-line hljs-ln-n" data-line-number="3">
class="hljs-ln-line">cos:求x的余弦,x必须是弧度
class="hljs-ln-line hljs-ln-n" data-line-number="4">
class="hljs-ln-line">degrees:把x从弧度转换成角度
class="hljs-ln-line hljs-ln-n" data-line-number="5">
class="hljs-ln-line">e:表示一个常量
class="hljs-ln-line hljs-ln-n" data-line-number="6">
class="hljs-ln-line">exp:返回math.e,也就是2.71828的x次方
class="hljs-ln-numbers">
class="hljs-ln-code">
expm1:返回math.e的x(其值为2.71828)次方的值减1
class="hljs-ln-numbers">
class="hljs-ln-code">
fabs:返回x的绝对值
class="hljs-ln-numbers">
class="hljs-ln-code">
factorial:取x的阶乘的值
class="hljs-ln-numbers">
class="hljs-ln-code">
floor:取小于等于x的最大的整数值,如果x是一个整数,则返回自身
class="hljs-ln-numbers">
class="hljs-ln-code">
fmod:得到x/y的余数,其值是一个浮点数
class="hljs-ln-numbers">
class="hljs-ln-code">
frexp:返回一个元组(m,e),其计算方式为:x分别除
class="hljs-number">0.5
和1,得到一个值的范围
class="hljs-ln-numbers">
class="hljs-ln-code">
fsum:对迭代器里的每个元素进行求和操作
class="hljs-ln-numbers">
class="hljs-ln-code">
gcd:返回x和y的最大公约数
class="hljs-ln-numbers">
class="hljs-ln-code">
hypot:如果x是不是无穷大的数字,则返回True,否则返回
class="hljs-keyword">False
class="hljs-ln-line hljs-ln-n" data-line-number="16">
class="hljs-ln-line">isfinite:如果x是正无穷大或负无穷大,则返回True,否则返回
class="hljs-keyword">False
class="hljs-ln-line hljs-ln-n" data-line-number="17">
class="hljs-ln-line">isinf:如果x是正无穷大或负无穷大,则返回True,否则返回
class="hljs-keyword">False
class="hljs-ln-line hljs-ln-n" data-line-number="18">
class="hljs-ln-line">isnan:如果x不是数字True,否则返回False
class="hljs-ln-numbers">
class="hljs-ln-code">
ldexp:返回x*(
class="hljs-number">2
**i)的值
class="hljs-ln-line hljs-ln-n" data-line-number="20">
class="hljs-ln-line">log:返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
class="hljs-ln-numbers">
class="hljs-ln-code">
log10:返回x的以
class="hljs-number">10
为底的对数
class="hljs-ln-line hljs-ln-n" data-line-number="22">
class="hljs-ln-line">log1p:返回x+1的自然对数(基数为e)的值
class="hljs-ln-numbers">
class="hljs-ln-code">
log2:返回x的基
class="hljs-number">2
对数
class="hljs-ln-line hljs-ln-n" data-line-number="24">
class="hljs-ln-line">modf:返回由x的小数部分和整数部分组成的元组
class="hljs-ln-line hljs-ln-n" data-line-number="25">
class="hljs-ln-line">pi:数字常量,圆周率
class="hljs-ln-line hljs-ln-n" data-line-number="26">
class="hljs-ln-line">pow:返回x的y次方,即x**y
class="hljs-ln-line hljs-ln-n" data-line-number="27">
class="hljs-ln-line">radians:把角度x转换成弧度
class="hljs-ln-line hljs-ln-n" data-line-number="28">
class="hljs-ln-line">sin:求x(x为弧度)的正弦值
class="hljs-ln-line hljs-ln-n" data-line-number="29">
class="hljs-ln-line">sqrt:求x的平方根
class="hljs-ln-line hljs-ln-n" data-line-number="30">
class="hljs-ln-line">tan:返回x(x为弧度)的正切值
class="hljs-ln-line hljs-ln-n" data-line-number="31">
class="hljs-ln-line">trunc:返回x的整数部分