python模块

  1. 模块介绍
  2. time &datetime模块
  3. random
  4. os
  5. sys
  6. shutil
  7. json & picle
  8. shelve
  9. xml处理
  10. yaml处理
  11. configparser
  12. hashlib
  13. subprocess
  14. logging模块
  15. re正则表达式
  16. 导入包使用演示

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)) #时间替换
View Code

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
 
# 下载安装 pycrypto
wget http://files.cnblogs.com/files/wupeiqi/pycrypto-2.6.1.tar.gz
tar -xvf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py build
python setup.py install
 
# 进入python环境,导入Crypto检查是否安装成功
 
# 下载安装 paramiko
wget http://files.cnblogs.com/files/wupeiqi/paramiko-1.10.1.tar.gz
tar -xvf paramiko-1.10.1.tar.gz
cd paramiko-1.10.1
python setup.py build
python 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)) #时间替换
posted @ 2020-02-04 21:20  Vinci-Q  阅读(194)  评论(0)    收藏  举报