python 模块

os

模块是和操作系统的一个交互的接口

import  os
#与文件夹相关的
# os.makedirs('c/a/c') #在程序执行的目录下递归创建目录
# os.removedirs('c/a/c') #在程序执行的目录下递归删除目录,如果目录下有文件则不会删除
# os.mkdir('asd') #z在程序执行的目录下创建一个目录 相当一shell中的mkdir asd
# os.rmdir('asd') #在文件执行的目录下删除一个目录,如果目录下有文件则不会删除
#列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
# print(os.listdir('F:\python\s20\day14'))


#与文件相关的一个文件
#删除 相当于rm
# os.remove('文件名')
#更改文件名,相当于mv
# os.rename('旧文件名','新文件名')
#获取文件的相关信息
# print(os.stat('F:\python\s20\day14'))

#和操作系统差异相关
# 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
# print(os.sep)
# 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
# print(os.linesep)
#输出用于分割文件路径的字符串 win下为;,Linux下为:
# print(os.pathsep)
# 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
# print(os.name)

#和执行系统命令相关的
# os.system("shell当中的命令")
# # 运行shell命令,获取执行结果
# os.popen("bash command").read()
#获取系统环境变量
# os.environ


#显示文件的绝对路径
# print(os.path.abspath('b'))
#将路径分为目录和文件名两个部分, 路径是绝对路径
# print(os.path.split('F:\python\s20\day14\b'))
#显示文件的目录,路径是绝对路径
# print(os.path.dirname('F:\python\s20\day14\b'))
#判断文件或目录是否存在,存在是True 不存在是False 可以是绝对路径也可以是相对路径
# print(os.path.exists('123'))
#判断文件是绝对路径,还是相对路径
# print(os.path.isabs('b'))
# 判断文件是否存在,存在是True 不存在是False 可以是绝对路径
# print(os.path.isfile('b'))
# 判断目录是否存在,存在是True 不存在是False 可以是绝对路径
# print(os.path.isdir('123'))
# 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
# print(os.path.join('F:\python\s20\day14','b','c'))
# os.path.getatime(path) 返回path所指向的文件或者目录的最后访问时间
# os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
# os.path.getsize(path) 返回path的大小<br></em>

# 获取当前工作目录,即当前python脚本工作的目录路径
# print(os.getcwd())
# #返回上一层目录,可以指定返回那层目录
# print(os.chdir('..'))
# # 获取当前目录的父目录字符串名
# print(os.getcwd())
# os.curdir 返回当前目录: ('.') 

json

用于多种语言交互编 程语言通用数据
import json
dic = {"1":1,"2":2,"3":3}
s = json.dumps(dic)
print(s,type(s))
d = json.loads(s)
print(d,type(d))
结果:
{"1": 1, "2": 2, "3": 3} <class 'str'>
{'1': 1, '2': 2, '3': 3} <class 'dict'>
import json
dic = {"1":1,"2":2,"3":3}
json.dump(dic,open('aa','w',encoding='utf-8'))
print(json.load(open('aa','r',encoding='utf-8')))
结果:
json.dump 创建一个aa的文件将字典以字符串的形式写进去
json.load 将文件中的字符串,以字典的形式取出来
import json
list_dic = [1,['a','b','c'],3,{'k1':'v1','k2':'v2'}]
str_dic = json.dumps(list_dic) #也可以处理嵌套的数据类型
print(type(str_dic),str_dic)  
list_dic2 = json.loads(str_dic)
print(type(list_dic2),list_dic2)
结果:
<class 'str'> [1, ["a", "b", "c"], 3, {"k1": "v1", "k2": "v2"}]
<class 'list'> [1, ['a', 'b', 'c'], 3, {'k1': 'v1', 'k2': 'v2'}]
import json
data = {'username':['李华','二愣子'],'sex':'male','age':16}
#sort_keys=True 排列的顺序 ,indent=2 每行的缩进  ensure_ascii=False 中文正常显示
json_dic2 = json.dumps(data,sort_keys=True,indent=2,separators=(',',':'),ensure_ascii=False)
print(json_dic2)
结果:

{
  "age":16,
  "sex":"male",
  "username":[
    "李华",
    "二愣子"
  ]
}

pickle

pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读) python之间的转换

import pickle
dic = {"1":1,"2":2,"3":3}
s = pickle.dumps(dic)
print(s,type(s))
d = pickle.loads(s)
print(d,type(d))
结果:
b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01K\x01X\x01\x00\x00\x002q\x02K\x02X\x01\x00\x00\x003q\x03K\x03u.' <class 'bytes'>
{'1': 1, '2': 2, '3': 3} <class 'dict'>
import pickle
dic = {"1":1,"2":2,"3":3}
f = open('as','wb')   #以二进制的方式写进文件当中
pickle.dump(dic,f)
f.close()
f1 = open('as','rb')
print(pickle.load(f1))
f1.close()

random

import random
返回0-1之间的任意小数
print(random.random())
返回指定区间的小数
print(random.uniform(1,4))
返回指定区间的整数,包含指定的数字
print(random.randint(1,4))
生成1-5之间的奇数,不包含5
print(random.randrange(1,5,2))
生成1-5之间的偶数,不包含5
print(random.randrange(0,5,2))

lst = ['张开','宝元','佩奇','太白']
随机生成列表中的一个元素
print(random.choice(lst))
随机在列表中选择两个元素,但会重复
print(random.choices(lst,k=2))
随机在列表中选择两个元素,但不会重复
print(random.sample(lst,k=2))

l = [1,2,3,4,5]
让列表重新打乱组合
random.shuffle(l)
print(l)
结果:
[5, 3, 1, 2, 4] 

sys

import  sys
# print(sys.argv[-1])  #相当于shell中的传参
# sys.exit()
#查看python的版本
# print(sys.version)
# 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# print(sys.path)
# 返回操作系统平台名称
# print(sys.platform)

hashlib

md5 sha1 sha256 sha512 加密的方式

import hashlib
md5 = hashlib.md5("123".encode('utf-8'))
md5.update("lulin".encode('utf-8'))
print(md5.hexdigest())

 







posted @ 2019-03-20 20:38  木木霖  阅读(50)  评论(0)    收藏  举报