3.30python学习笔记

OS模块

#查看当前路径及路径下的文件  1.os.getcwd() :查看当前所在路径  2.os.listdir(path) :列举path目录下的所有文件。返回的是列表类型 #绝对路径  1.os.path.abspath(path) :返回当前文件位置的绝对路径。  2.os.path.realpath(path) :返回当前文件位置的绝对路径。 #路径拼接 os.path.join(path1, path2, ...) :将入参的path进行组合,若其中有绝对路径,则之前的path将被删除 #创建目录(文件夹) os.mkdir(r'aaa')   使用相对路径 在当前执行文件所在的路径下创建一个aaa文件夹 os.mkdir(r'bbb/ccc')  mkdir只能创建单级目录 #删除目录(文件夹) os.rmdir(r'aaa')   可以删除单级目录 os.rmdir(r'bbb')   只能删空的单级目录 #删除文件、重命名文件 os.remove(r'a.txt') os.rename(r'a.txt', r'aaa.txt') #判断文件是否存在 print(os.path.exists(r'ATM'))   True  判断所给的路径是否存在 print(os.path.isdir(r'ATM'))   True  判断路径是否是一个文件夹 print(os.path.isfile(r'ATM'))   False  判断路径是否是一个文件 #获取文件大小(字节 bytes) print(os.path.getsize(r'ATM'))   128bytes print(os.path.getsize(r'a.txt'))   14bytes 

sys模块

  • sys模块是与python解释器交互的一个接口
1.列举当前执行文件所在的sys.path print(sys.path) 2.获取解释器版本信息 print(sys.version) 3.获取平台信息 print(sys.platform) 4.自定义命令行操作 print(sys.argv) 5.退出程序 print(sys.exit(n)) 

json 模块

  • 就是一个序列化模块 主要用于跨语言传输数据(相当于一个翻译器)

序列化的目的:

1、以某种存储形式使自定义对象持久化; 2、将对象从一个地方传递到另一个地方。 3、使程序更具维护性。 

json格式数据的具体特征:

1、据上图可知:数据基于网络传输肯定是二进制格式
2、python中只有字符串可以转成bytes类型(编码encode())
3、由上述推论可知 json格式数据 本质应该属于字符串类型
4、双引号是json格式数据独有的标志符号

import json d = {'username':'jason','pwd':123} res = json.dumps(d) print(res, type(res))  # json格式字符串 encode_str = res.encode('utf8') '''假设将该字符串基于网络发给了另外一个python程序''' # 先将bytes类型转换成字符串 json_str = encode_str.decode('utf8') print(json_str,type(json_str)) res1 = json.loads(json_str) print(res1, type(res1))  # {'username': 'jason', 'pwd': 123} <class 'dict'>  json.dumps()        序列化     将python数据类型转换成json格式字符串 json.loads()        反序列化     将json格式字符串转换成对应的数据类型   # 如果不能理解跨语言传输的作用 那么权且理解下面的操作即可 d = {'username': 'jason', 'pwd': 123} # 将上述字典写入文件 with open(r'a.txt','w',encoding='utf8') as f:     # f.write(d)     # f.write(str(d))     # f.write(json.dumps(d))     json.dump(d, f) # 将文件内容获取出来 with open(r'a.txt','r',encoding='utf8') as f:     # data = f.read()     # res = json.loads(data)     # print(res, type(res))     data = json.load(f)     print(data, type(data))  如果json模块需要配合文件一起使用的话 有固定的方法 json.dump()     将其他数据类型直接写入文件(自动转json格式字符串) json.load()     将文件数据直接转成对应的数据类型(自动反序列化)   # 强调:不是所有的数据类型都支持序列化      +-------------------+---------------+     | Python            | JSON          |     +===================+===============+     | dict              | object        |     +-------------------+---------------+     | list, tuple       | array         |     +-------------------+---------------+     | str               | string        |     +-------------------+---------------+     | int, float        | number        |     +-------------------+---------------+     | True              | true          |     +-------------------+---------------+     | False             | false         |     +-------------------+---------------+     | None              | null          |     +-------------------+---------------+