python模块
- 模块介绍
- time &datetime模块
- random
- os
- sys
- shutil
- json & picle
- shelve
- xml处理
- yaml处理
- configparser
- hashlib
- subprocess
- logging模块
- re正则表达式
- 导入包使用演示
time & datetime模块
1 # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来 2 # print(time.altzone) #返回与utc时间的时间差,以秒计算\ 3 # print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016", 4 # print(time.localtime()) #返回本地时间 的struct time对象格式 5 # print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式 6 7 # print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016", 8 #print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上 9 10 # 日期字符串 转成 时间戳 11 # string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式 12 # print(string_2_struct) 13 14 # struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳 15 # print(struct_2_stamp) 16 17 #将时间戳转为字符串格式 18 # print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式 19 # print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式 20 21 #时间加减 22 import datetime 23 24 # print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925 25 #print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19 26 # print(datetime.datetime.now() ) 27 # print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天 28 # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天 29 # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时 30 # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分 31 32 # c_time = datetime.datetime.now() 33 # print(c_time.replace(minute=3,hour=2)) #时间替换
random模块
示例代码:生成随机验证码
1 def checkcode(num): 2 ''' 3 this function can output random different check-code to show,and support to set 4 the length of check-code 5 :param num: 6 :return: 7 ''' 8 check_code='' 9 for i in range(num): 10 current = random.randrange(0,num) 11 if current == i: 12 tmp = chr(random.randint(65,90))#生成随机大写字母,对照ASCII码表 13 else: 14 tmp = random.randint(0,9)#生成随机数字 15 check_code += str(tmp) 16 print(check_code) 17 checkcode(4) #更改参数可以生成不同位数的验证码
OS模块
提供对操作系统进行调用的接口:
1 import os 2 3 x = os.getcwd() 4 print( x ) 5 os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径 6 os.chdir("dirname") #改变当前脚本工作目录;相当于shell下cd 7 os.curdir #返回当前目录: ('.') 8 os.pardir #获取当前目录的父目录字符串名:('..') 9 os.makedirs('dirname1/dirname2') # 可生成多层递归目录 10 os.removedirs('dirname1') #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 11 os.mkdir('dirname') #生成单级目录;相当于shell中mkdir dirname 12 os.rmdir('dirname') #删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname 13 os.listdir('dirname') #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 14 os.remove() #删除一个文件 15 os.rename("oldname","newname") #重命名文件/目录 16 os.stat('path/filename') #获取文件/目录信息 17 os.sep #输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" 18 os.linesep #输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" 19 os.pathsep #输出用于分割文件路径的字符串 20 os.name #输出字符串指示当前使用平台。win->'nt'; Linux->'posix' 21 os.system("bash command") # 运行shell命令,直接显示 22 os.environ #获取系统环境变量 23 path = os.path.abspath() 24 os.path.abspath(path) #返回path规范化的绝对路径 25 os.path.split(path) #将path分割成目录和文件名二元组返回 26 os.path.dirname(path) #返回path的目录。其实就是os.path.split(path)的第一个元素 27 os.path.basename(path) #返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 28 os.path.exists(path) #如果path存在,返回True;如果path不存在,返回False 29 os.path.isabs(path) #如果path是绝对路径,返回True 30 os.path.isfile(path) #如果path是一个存在的文件,返回True。否则返回False 31 os.path.isdir(path) #如果path是一个存在的目录,则返回True。否则返回False 32 os.path.join() #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 33 os.path.getatime(path) # 返回path所指向的文件或者目录的最后存取时间 34 os.path.getmtime(path) #返回path所指向的文件或者目录的最后修改时间
sys模块
1 import sys 2 # sys.argv 命令行参数List,第一个元素是程序本身路径 3 # sys.exit(n) 退出程序,正常退出时exit(0) 4 # sys.version 获取Python解释程序的版本信息 5 # sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 6 # sys.platform 返回操作系统平台名称 7 # sys.stdout.write('please:') 8 # val = sys.stdin.readline()[:-1] 9 print(sys.version) 10 print(sys.path) 11 print(sys.platform)
shutil 模块
高级的 文件、文件夹、压缩包 处理模块
详细内容戳这里
json & pickle 模块
用于序列化的两个模块
- json,用于字符串 和 python数据类型间进行转换
- pickle,用于python特有的类型 和 python的数据类型间进行转换
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
1 import pickle,json 2 data = {'k1':123,'k2':"hello"} 3 #pickle.dumps 将数据通过特殊方式转化为只有python语言认识的字符串 4 p_str = pickle.dumps(data) 5 print(p_str) 6 7 #pickle.dumps 将数据通过特殊方式转化为只有python语言认识的字符串,并写入文件 8 with open('test.pk','wb') as fp: 9 pickle.dump(data,fp) 10 11 #json.dumps 将数据通过特殊方式转化为所有语言认识的字符串 12 j_str = json.dumps(data) 13 print(j_str) 14 15 #json.dumps 将数据通过特殊方式转化为所有语言认识的字符串,并写入文件 16 with open('test.json','wb') as fp: 17 json.dump(data,fp)
模块 paramiko
paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。
1、下载安装
|
1
|
pip3 install paramiko |
或
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto# 下载安装 pycryptowget http://files.cnblogs.com/files/wupeiqi/pycrypto-2.6.1.tar.gztar -xvf pycrypto-2.6.1.tar.gzcd pycrypto-2.6.1python setup.py buildpython setup.py install# 进入python环境,导入Crypto检查是否安装成功# 下载安装 paramikowget http://files.cnblogs.com/files/wupeiqi/paramiko-1.10.1.tar.gztar -xvf paramiko-1.10.1.tar.gzcd paramiko-1.10.1python setup.py buildpython setup.py install# 进入python环境,导入paramiko检查是否安装成功 |
2、使用模块
执行命令 - 通过用户名和密码连接服务器
执行命令 - 过密钥链接服务器
上传或者下载文件 - 通过用户名和密码
上传或下载文件 - 通过密钥# print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
# print(time.altzone) #返回与utc时间的时间差,以秒计算\
# print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016",
# print(time.localtime()) #返回本地时间 的struct time对象格式
# print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式
# print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016",
#print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上
# 日期字符串 转成 时间戳
# string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式
# print(string_2_struct)
# struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳
# print(struct_2_stamp)
#将时间戳转为字符串格式
# print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式
# print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式
#时间加减
import datetime
# print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
#print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19
# print(datetime.datetime.now() )
# print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
# print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
# print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
# print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
# c_time = datetime.datetime.now()
# print(c_time.replace(minute=3,hour=2)) #时间替换

浙公网安备 33010602011771号