@内置模块## python
内置模块
1.sys模块
用于设置、获取Python解释器的信息
1.print(sys.path) python包和模块所在的路径
2.sys.argv 命令行参数List,第一个元素是程序本身路径
3.sys.exit( ) 退出程序,正常退出时exit(0)
4.sys.version 获取Python解释程序的版本信息
5.sys.maxint 最大的Int值
6.sys.platform 返回操作系统平台名称
2.OS模块
1 os.getcwd()
获取当前工作目录,即当前python脚本工作的目录路径
2 os.chdir("dirname")
改变当前脚本工作目录;相当于shell下cd
3 os.curdir
返回当前目录: ('.')
4 os.pardir
获取当前目录的父目录字符串名:('..')
5 os.makedirs('dirname1/dirname2')
可生成多层递归目录
6 os.removedirs('dirname1')
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
7 os.mkdir('dirname')
生成单级目录;相当于shell中mkdir dirname
8 os.rmdir('dirname')
删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
9 os.listdir('dirname')
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
10 os.remove()
删除一个文件
11 os.rename("oldname","newname")
重命名文件/目录
12 os.stat('path/filename')
获取文件/目录信息
13 os.sep
输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
14 os.linesep
输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
15 os.pathsep
输出用于分割文件路径的字符串
16 os.name
输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
17 os.system("bash command")
运行shell命令,直接显示
18 os.environ
获取系统环境变量
19 os.path.abspath(path)
返回path规范化的绝对路径
20 os.path.split(path)
将path分割成目录和文件名二元组返回
21 os.path.dirname(path)
返回path的目录。其实就是os.path.split(path)的第一个元素
22 os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
23 os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False
24 os.path.isabs(path)
如果path是绝对路径,返回True
25 os.path.isfile(path)
如果path是一个存在的文件,返回True。否则返回False
26 os.path.isdir(path)
如果path是一个存在的目录,则返回True。否则返回False
27 os.path.join(path1[, path2[, ...]])
将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
28 os.path.getatime(path)
返回path所指向的文件或者目录的最后存取时间
29 os.path.getmtime(path)
返回path所指向的文件或者目录的最后修改时间
3.json 和 pickle 模块
(用于序列化的两个模块)
json用于字符串 和 python数据类型之间进行转换
pickle用于python特有的类型 和 python的数据类型之间进行转换
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
随机数模块
import random
1、randint() #随机一个整数,包含开头结尾
2、random() #随机一个小数
e.g.print(random.random())
3、randrange(开始值,结束值{不包含},步长值)
e.g. print(random.randrange(0,1))
4、choice() #随机一个元素
e.g. print(random.choice('"a1","b2","c3"'))
5、随机验证码
(1)数字六位验证码
print(random.randint(100000,999999))
(2)数字加字母
def verification_code(n):
code = ""
for i in range(n):
num = randon.randint(0,9)
if i%2 == 0:
code +=chr(random.randint(65,90))
else:
code += str(random.randint(0,9))
return code
print(verification_code(6))
##
5.时间模块
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 time.gmtime() # 将utc时间戳转换成struct_time对象格式,默认返回当前时间的
24 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)
25 time.gmtime(1491064723.808669)
26 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)
27 time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) # 将本地时间的struct_time格式转成自定义字符串格式 2017-04-01 23:15:47
28 '2017-04-02 00:47:49'
29 time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime()) # 将utc时间的struct_time格式转成自定义字符串格式 2017-04-01 23:15:47
30 '2017-04-01 16:48:27'
31 time.strptime('2017-04-02 00:47:49', '%Y-%m-%d %H:%M:%S') # 将 日期字符串 转成 struct_time时间对象格式,注意转换后的tm_isdst=-1()夏令时状态
32 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)
33 time.mktime(time.localtime())
34 1491065416.0
35 # 将struct_tiame时间对象转成时间戳 结果返回1491061855.0 ,忽略小于秒的时间(忽略小数点后面)
36 time.mktime(time.localtime(1491061855.0011407))
37 1491061855.0
38 # 结果返回1491061855.0 ,忽略小于秒的时间(忽略小数点后面)
39 time.mktime(time.gmtime(1491061855.0011407))
40 1491033055.0
41 # 结果返回1491033055.0 ,忽略小于秒的时间(忽略小数点后面)