py 5.22

 
  
#序列化模块 json
#作用:将各数据类型转化成str/bytes型
#为了:1.固态的存储一个数据结构(一般是容器类数据类型)
#      2.固态的传输一个数据结构。
#json所有语言都通用,但是不能接收所有的数据类型,可以接收的有:int/float/list/dict  (set类型不可以!)
#特殊:tuple : 元祖是以列表的形式被序列化的,反序列回来也是一个列表
#如果序列化的是dict,则里面的键要求必须全是字符形式。
#json可以一直dump进去,但是不能多次load.
#dumps():序列化。转换成str
# import json
# dic = {'name':'alx',
#        'age':33}
# res = json.dumps(dic) e            #字典转换成字符串后,里面的字符都变成“ 表示。
#loads():反序列化. 变回本来的样子。
# print(json.loads(res))
#将序列化后的字符串写入文件:dump() load()
# with open('file','w') as f: json.dump(dic,f)
# with open('file') as f1: print(json.load(f1))
#pickle模块
#优点:可以接收任何数据类型,可以连续dump和load.
#缺点:json所有语言都通用,但是pickle只能在python中使用
#pickle.dumps():转换生成的是bytes类型. 写入文件的时候模式用‘w+'
#pickle.loads():反序列化.   读取文件的时候用’r+'
#shelve模块
#写入:f = shelve.open(文件)
#      f['key'] = 值
#读取:f = shelve.open(文件)
#      f['key']
View Code
sys模块
import sys
#sys.path:模块导入遵循的路径. 大多数的模块都是遵循此路径导入的。
# print(sys.path)
#sys.argv:将执行的文件路径、输入的内容放进一个列表中。[文件的路径,输入1,输入2]
#在cmd中输入py 路径 输入1 输入2
#省去交互的麻烦
# if len(sys.argv)==3 and sys.argv[1] == 'liu' and sys.argv[2] == 'jun':
#     print('打开成功')
# else:
#     print('没有通过')
#     exit()
View Code
import os
# print(os.getcwd()) #执行该print所在的文件
#chdir(r+改变后的路径) 改变执行脚本所在的文件,以后的每一个操作都在新文件中完成。
# os.chdir(r'D:\py文件\15')   #路径前面记得要转义
# print(os.getcwd())
#curdir(): '.' pardir():'..'
#mkdir():在当前文件夹创建一个文件夹
# os.mkdir('创建')
#makedirs():创造文件夹以及子文件夹
# os.makedirs('n1/n2/n3')
#rmdir():删除单级空目录,如果不为空则报错
# os.rmdir('n1/n2/n3')  #只删除n3,但是前面的母文件夹要都写上,才能找到n1.
#removedirs()
# os.removedirs('n1/n2') #n2为空,删除,然后看n1,也为空,再删除。
# print(os.getcwd())
# os.chdir(r'D:\py文件\16') #pwd
# print(os.getcwd()) #cd
# os.chdir(r'D:\py文件\16') #cd .
# print(os.pardir)   #cd ..
# print(os.getcwd())
# os.makedirs('dirname1/dirname2') #mkdir -p
# os.removedirs('dirname1/dirname2')  #rm -r
# os.rmdir('dirname1/dirname2')
#listdir(目录) 将目录下的子文件夹或文件放进列表中,只放一层。
# print(os.listdir('D:\py文件'))
#system() 执行shell命令,直接显示。
#popen() 执行shell命令,得到一个对象,用.read()读取。
# print(os.system('dir'))
# print(os.popen('ipconfig').read())
#与path相关的
#abspath():输出绝对路径
# print(os.path.abspath('创建')) #输出'创建'文件的绝对路径。
#split(路径):将目录与文件本身分割成一个元祖。
# print(os.path.split(r'D:\py文件\17\创建')) #( 'D:\py文件\17'  ,    '创建')
#                                                  dirname()         basename()
#                                                            join()
# print(os.path.dirname(r'D:\py文件\17\创建'))
# print(os.path.basename(r'D:\py文件\17\创建'))
# print(os.path.join(r'D:\py文件\17','创建'))
#isabs():判断是否是绝对路径
# print(os.path.isabs(r'D:\py文件\17\创建'))
#isfile():判断是否是文件。
# print(os.path.isfile(r'D:\py文件\17\创建\r'))
#isdir():判断是否是目录
# print(os.path.isdir(r'D:\py文件\17\创建'))
#getsize():判断文件或文件夹的大小。
#文件夹永远都是4096.
# print(os.path.getsize(r'D:\py文件\17'))
View Code
 
   
  
#time模块
#时间戳(timestamp):time.time()
import time
# print(time.time())
#格式化时间(format string):time.strftime('%Y-%m-%d %H:%M:%S')   %Y:2018 %y:18    %c:固定格式,星期 月 日 时间 年
# print(time.strftime('%c'))
# print(time.strftime('%Y-%m-%d %H:%M:%S'))
#结构化时间(stuct_time):time.localtime():当地的结构化时间(类似一个可命名元祖) time.gmtime():伦敦的结构化时间
# print(time.localtime())
# print(time.gmtime())
#时间戳与结构化时间与格式化时间的转换
#时间戳------>结构化时间:localtime/gmtime(参数)   结构化时间--->时间戳: mktime(参数)
#格式化时间-->结构化时间:strptime('格式化时间','格式')
# 结构化时间--->格式化时间:strftime('格式',struct_time)
# g = time.time()
# struct_time = time.gmtime(g)
# form = time.strftime('%Y-%m-%d %H:%M:%S',struct_time)
# stru = time.strptime(form,'%Y-%m-%d %H:%M:%S')
# print(time.mktime(stru))
import time
# def func(tim1,tim2,form = '%Y-%m-%d %H:%M:%S'):
#     stuct_time1=time.mktime(time.strptime(tim1,form))
#     stuct_time2=time.mktime(time.strptime(tim2,form))
#     stuct_time3=time.gmtime(stuct_time2 -stuct_time1)
#     return (stuct_time3.tm_year-1970,
#           stuct_time3.tm_mon-1,
#           stuct_time3.tm_mday-1,
#           stuct_time3.tm_hour,
#           stuct_time3.tm_min,
#           stuct_time3.tm_sec)
# ti2 = '2018-5-22 11:06:50'
# ti1 = '2018-5-21 12:59:50'
# print(func(ti1,ti2))
# import json
# dic = {'name':'大写','password':'123'}
# with open('demo',encoding='utf-8',mode = 'w') as f:json.dump(dic,f,ensure_ascii=False)
# with open('demo',encoding='utf-8') as f1:print(json.load(f1))
import random
# s = ''
# for i in range(6):
#     num = random.randint(0,9)
#     s += str(num)
# print(s)
# s = ''
# for i in range(6):
#     num = random.randint(0,9)
#     nu = random.randint(97,122)
#     alp1 = chr(nu)
#     nu2 = random.randint(65,90)
#     alp2 = chr(nu2)
#     alp = random.choice([str(num),alp1,alp2])
#     s += alp
# print(s)
# print(random.random())
# print(random.uniform(-1000,0))
# print(random.randint(-500,0))
# print(random.randrange(1,10,2))
# print(random.sample('456415',4))
# lis = [1,2,3,4,5,6]
# random.shuffle(lis)
# print(lis)
#随机小数
#1.random.random():随机生成一个0-1之间的小数
# print(random.random())
#2.random.uniform(参数起始,参数结束):随机生成范围内的一个小数,不包括范围本身。
# print(random.uniform(1,5))
#随机整数
#1.random.randint(参数起始,参数结束):随机生成范围内的一个整数,包括范围本身。
# print(random.randint(1,10))
#2.random.rangrange(1,10,2):顾头不顾尾,可设置步长。
# print(random.randrange(1,10,2))
#随机输出列表或元祖或字符串等的元素
#1.random.choice(待随机输出的字符串或列表):只随机输出一个。
# print(random.choice([1,2,3,4]))
#2.random.sample(待随机输出的字符串或列表,次数):随机输出想要的次数。
# print(random.sample([1,2,3,4,5,6,[1,2,2]],4))
#将列表随机排序(打乱顺序):random.shuffle   #没有返回值
# lis = [1,2,3,4]
# random.shuffle(lis)
# print(lis)
#验证码(随机生成6个数字)
import random
# s = ''
# for i in range(6):
#     num = random.randint(0,9)
#     s += str(num)
# print(s)
#验证码(随机生成6个数字或字母大写或小写)
s = ''
# for i in range(6):
#     num = str(random.randint(0,9))
#     al1 = chr(random.randint(97,122))
#     al2 = chr(random.randint(65,90))
#     alp = random.choice([num,al1,al2])  #放在一个列表中,用choice来随机输出某一个。
#     s += alp
# print(s)
View Code

一、random模块

二、time模块

三、os模块

四、sys模块

五、序列号模块

猜你喜欢

转载自www.cnblogs.com/liujjpeipei/p/9073840.html
py