sys模块,和json模块

sys模块

主要与python解释器打交道

import sys

print(sys.path)

print(sys.version)

print(sys.platform)

print(sys.argv) # 获取当前执行文件的绝对路径

try:
username = sys.argv[1]
password = sys.argv[2]
if username == 'jason' and password == '123':
print('正常执行文件内容')
else:
print('用户名或密码错误')
except Exception:
print('请输入用户名和密码')
print('目前只能让你体验一下(游客模式)')

image

json模块

json格式数据:跨语言传输

import json

d = {'username': 'jason', 'pwd': 123}
# 1.将python其他数据转换成json格式字符串(序列化)
# import json
# res = json.dumps(d)
# print(res,type(res)) # {"username": "jason", "pwd": 123}
# 2.将json格式字符串转成当前语言对应的某个数据类型(反序列化)
# res1 = json.loads(res)
# print(res1,type(res1)) # {'username': 'jason', 'pwd': 123} <class 'dict'>
# bytes_data = b'{"username": "jason", "pwd": 123}'
# bytes_str = bytes_data.decode('utf8')
# bytes_dict = json.loads(bytes_str)
# print(bytes_dict,type(bytes_dict))
"""
暂且可以简单的理解为
序列化就是将其他数据类型转换成字符串过程
json.dumps()
反序列化就是将字符串转换成其他数据类型
json.loads()
"""
# 将字典d写入文件
# with open(r'a.txt','w',encoding='utf8') as f:
# f.write(str(d))
# 将字典d取出来
# with open(r'a.txt','r',encoding='utf8') as f:
# data = f.read()
# print(dict(data))

将字典d写入文件

with open(r'a.txt','w',encoding='utf8') as f:

res = json.dumps(d) # 序列化成json格式字符串

f.write(res)

将字典d取出来

with open(r'a.txt','r',encoding='utf8') as f:

data = f.read()

res1 = json.loads(data)

print(res1,type(res1))

d1 =

with open(r'a.txt', 'w', encoding='utf8') as f:

json.dump(d1, f)

with open(r'a.txt','r',encoding='utf8') as f:

res = json.load(f)

print(res,type(res))

d1 = {'username': 'tony好帅哦 我好喜欢', 'pwd': 123,'hobby':[11,22,33]}
print(json.dumps(d1,ensure_ascii=False))

"""
# 并不是所有的数据类型都支持序列化
json.JSONEncoder 查看支持的数据类型
"""
image

posted @ 2021-11-26 20:03  丶祈安  阅读(77)  评论(0)    收藏  举报