3.30python学习笔记

2022/4/18 1:12:41

本文主要是介绍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          |
    +-------------------+---------------+
"""


这篇关于3.30python学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程