python自带模块

time 模块

1 >>> import time
 2 >>> time.time()
 3 1491064723.808669
 4 >>> # time.time()返回当前时间的时间戳timestamp(定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数)的方法,无参数
 5 >>> time.asctime()
 6 'Sun Apr  2 00:39:32 2017'
 7 >>> # time.asctime()把struct_time对象格式转换为字符串格式为'Sun Apr  2 00:39:32 2017'
 8 >>> time.asctime(time.gmtime())
 9 'Sat Apr  1 16:41:41 2017'
10 >>> time.asctime(time.localtime())
11 'Sun Apr  2 00:42:06 2017'
12 >>> time.ctime()
13 'Sun Apr  2 00:42:29 2017'
14 >>> # time.ctime()把时间戳转换为字符串格式'Sun Apr  2 00:42:29 2017',默认为当前时间戳
15 >>> time.ctime(1491064723.808669)
16 'Sun Apr  2 00:38:43 2017'
17 >>> time.altzone  # 返回与utc时间的时间差,以秒计算
18 -32400
19 >>> time.localtime()  # 把时间戳转换为struct_time对象格式,默认返回当前时间戳
20 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=2, tm_hour=0, tm_min=45, tm_sec=26, tm_wday=6, tm_yday=92, tm_isdst=0)
21 >>> time.localtime(1491064723.808669)
22 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=2, tm_hour=0, tm_min=38, tm_sec=43, tm_wday=6, tm_yday=92, tm_isdst=0)
23 >>> 
24 >>> time.gmtime()   # 将utc时间戳转换成struct_time对象格式,默认返回当前时间的
25 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=1, tm_hour=16, tm_min=46, tm_sec=32, tm_wday=5, tm_yday=91, tm_isdst=0)
26 >>> time.gmtime(1491064723.808669)
27 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=1, tm_hour=16, tm_min=38, tm_sec=43, tm_wday=5, tm_yday=91, tm_isdst=0)
28 >>> 
29 >>> 
30 >>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) # 将本地时间的struct_time格式转成自定义字符串格式 2017-04-01 23:15:47
31 '2017-04-02 00:47:49'
32 >>> 
33 >>> time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())  # 将utc时间的struct_time格式转成自定义字符串格式 2017-04-01 23:15:47
34 '2017-04-01 16:48:27'
35 >>> 
36 >>> time.strptime('2017-04-02 00:47:49', '%Y-%m-%d %H:%M:%S')   # 将 日期字符串 转成 struct_time时间对象格式,注意转换后的tm_isdst=-1()夏令时状态
37 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=2, tm_hour=0, tm_min=47, tm_sec=49, tm_wday=6, tm_yday=92, tm_isdst=-1)
38 >>> 
39 >>> time.mktime(time.localtime())
40 1491065416.0
41 >>> # 将struct_tiame时间对象转成时间戳 结果返回1491061855.0  ,忽略小于秒的时间(忽略小数点后面)
42 >>> 
43 >>> time.mktime(time.localtime(1491061855.0011407))
44 1491061855.0
45 >>> # 结果返回1491061855.0  ,忽略小于秒的时间(忽略小数点后面)
46 >>> 
47 >>> time.mktime(time.gmtime(1491061855.0011407))
48 1491033055.0
49 >>> 
50 >>> # 结果返回1491033055.0  ,忽略小于秒的时间(忽略小数点后面)
51 >>>

格式字符及意义

%a 星期的简写。如 星期三为Web
%A 星期的全写。如 星期三为Wednesday
%b 月份的简写。如4月份为Apr
%B月份的全写。如4月份为April
%c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)
%d: 日在这个月中的天数(是这个月的第几天)
%f: 微秒(范围[0,999999])
%H: 小时(24小时制,[0, 23])
%I: 小时(12小时制,[0, 11])
%j: 日在年中的天数 [001,366](是当年的第几天)
%m: 月份([01,12])
%M: 分钟([00,59])
%p: AM或者PM
%S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册_
%U: 周在当年的周数当年的第几周),星期天作为周的第一天
%w: 今天在这周的天数,范围为[0, 6],6表示星期天
%W: 周在当年的周数(是当年的第几周),星期一作为周的第一天
%x: 日期字符串(如:04/07/10)
%X: 时间字符串(如:10:43:39)
%y: 2个数字表示的年份
%Y: 4个数字表示的年份
%z: 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z: 时区名称(如果是本地时间,返回空字符串)

datetime模块,方便时间计算

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2017, 4, 7, 16, 52, 3, 199458)
# 返回一组数据(年,月,日,小时,分钟,秒,微秒)

>>> print(datetime.datetime.now())
2017-04-07 16:52:55.000164
# 打印返回格式(固定)

>>> datetime.datetime.now()+datetime.timedelta(days=3)
datetime.datetime(2017, 4, 10, 16, 53, 51, 180847)
# 时间加(减),可以是日,秒,微秒,毫秒,分,小时,周
#days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0
>>> print(datetime.datetime.now()+datetime.timedelta(weeks=1))
2017-04-17 16:54:08.916243

>>> datetime.datetime.now().replace(minute=3,hour=2)
datetime.datetime(2017, 4, 7, 2, 3, 11, 163663)
# 时间替换

>>> datetime.datetime.now()
datetime.datetime(2017, 4, 7, 16, 58, 22, 195439)

>>> datetime.datetime.now().replace(day=1,month=1)
datetime.datetime(2017, 1, 1, 16, 59, 13, 210556)
>>> 
# 直接替换相应位置数据

random模块

import random
>>> print(random.random())
0.5364503211492734
>>> print(random.randint(1,10))
3
>>> # 整数1-10(包括10),随机取一个值
>>> 
>>> 
>>> 
>>> print(random.randrange(1, 10))
8
>>> # 整数1-10(不包括10),随机取一个值

OS模块 
提供对操作系统进行调用的接口

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: ('.')
os.pardir  获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2')    可生成多层递归目录
os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat('path/filename')  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep    输出用于分割文件路径的字符串
os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  运行shell命令,直接显示
os.environ  获取系统环境变量
os.path.abspath(path)  返回path规范化的绝对路径
os.path.split(path)  将path分割成目录和文件名二元组返回
os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  如果path是绝对路径,返回True
os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

sys模块
用于提供对解释器相关的操作

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]

shutil 模块
高级的 文件、文件夹、压缩包 处理模块
shutil.copyfileobj(fsrc, fdst)
将文件内容拷贝到另一个文件中,可以部分内容,如下(注意需要打开文件):

1 import shutil
2 
3 with open('testfile', 'r', encoding='utf-8') as f,\
4      open('testfile1', 'w', encoding='utf-8') as f1:
5     shutil.copyfileobj(f, f1)

shutil.copyfile(src, dst)
仅拷贝文件
用法是shutil.copyfile(src_path, dst_path),如下:

import shutil
shutil.copyfile(r'C:\Users\笔记.txt', r'C:\test1\笔记.txt')

shutil.copystat(src, dst)
仅拷贝状态信息,包括:mode bits, atime, mtime, flags.用法格式同shutil.copyfile(src, dst)

shutil.copymode(src, dst)
仅拷贝权限。内容、组、用户均不变,用法格式同shutil.copyfile(src, dst)

shutil.copy(src, dst)
拷贝文件和权限,用法个是同shutil.copyfile(src, dst)

shutil.copy2(src, dst)
拷贝文件和状态信息,用法个是同shutil.copyfile(src, dst)

shutil.copytree(src, dst, symlinks=False, ignore=None)
拷贝一个目录,src是原目录路径,dst是新目录路径

shutil.rmtree(path)
删除一个目录,path为目录路径

shutil.move(src, dst)
移动文件或目录,src是原文件或目录的路径,dst是新目录路径!使用的copy2函数拷贝文件和状态信息

1 import shutil
2 shutil.move(r'C:\Users\笔记.txt', r'C:\test1')

shutil.make_archive(base_name, format,…)
创建压缩包并返回文件路径,例如:zip、tar

base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www =>保存至当前路径
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
owner: 用户,默认当前用户
group: 组,默认当前组
logger: 用于记录日志,通常是logging.Logger对象

#将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录
import shutil
ret = shutil.make_archive("wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')
 
 
#将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录
import shutil
ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')

logging 模块

用于便捷记录日志且线程安全的模块
re模块

你可能感兴趣的:(编程)