python 06.06
1.包
包是模块的一种形式,包的本质是一个含有__init__的文件的文件夹
包被导入时发生的三件事
1.打开aaa里的_init_.py文件;
2.python解释器运行解释_init.py文件,把 init .py里的名字丢入aaa模块的名称空间
3.导入aaa其实就是导入__init__里的名字
和模块不同点是:模块是直接打开文件,**包打开里面的_init_.py文件
包的有点:不改变模块原先的导入方式,并且简化模块开发者的管理复杂度。
模块本质是文件,包本质是文件夹,但包有可称为特殊的模块。
import/from...import...
相对路径的好处:万一如果包的名字改变了,使用相对路径不会对保内文件造成任何影响
绝对路径是相对于执行文件而言的,而相对路径是对文件本身而言的。
. 当前 #前面必须是一个包,不能是模块
..上一级
...上上一级
当文件是执行文件时,不能是相对路径
2.json模块和os模块
打开方式:with open打开文件,但是保存为.json文本
import json #json一般用于保存python中的字典(最常用)or列表
内存中转换使用以下方法:loads() ; dumps()
文件中转换使用以下方法:load() ;dump()
import json
nick_info = {'username': 'nick', 'height': 180, 'weight': 140, 'pwd': 123, 'extra': 15000, 'is_locked': 0}
res = json.dumps(nick_info) # 存进去的是字符串,json串(和字典很像的一个东西,只不过它里面的所有元素都必须是双引号)
print(res,type(res))
nick_info['is_locked'] = 1
res = json.dumps(nick_info)
print(res)
nick_info2 = nick_info.copy()
print(nick_info2)
res2 = json.loads(res)
print(res2)
import json
"'注册阶段'"
username = 'sean'
nick_info = {'username': 'nick', 'height': 180, 'weight': 140, 'pwd': 123, 'extra': 15000, 'is_locked': 0}
def save_file(filename content):
with open(filename,'w',encoding='utf8') as fw:
json.dump(content,fw)
save_file(f'{username}.json',nick_info)
"'修改阶段'"
username = 'sean'
with open(f'{username}.json','r',encoding = 'utf8') as fr:
data = json.load(fr)
print(data)
data['is_locked'] = 1
save_file(f'{username}.json',data)
"'登录阶段'"
import os
username ='nick'
name_list = os.listdir('F:\python test\Daily practice')
name_list = map(lambda name:name.replace('.json',' '))
print(list(name_list))
os模块补充;
import os
#1.列出目录下的所有文件
dir_list = os.listdir('F:\飞秋\python9期视频')
print(dir_list)
#2.重命名文件
os.rename(r'F:\飞秋\python9期视频\test.py','F:\飞秋\python9期视频\test0.py')
#3.删除文件
os.remove(r'F:\飞秋\python9期视频\test0.py')
#4.按照不同系统拼接出不同的路径
res = os.path.join('F:\飞秋\python9期视频\day 16\json','nick.json')
print(res)
#5.判断是否为文件
res = os.path.isfile(r'F:\上海python全栈9期\Python9期视频\day 16\json\nick.json')
#判断是否为文件夹
res = os.path.isdir(r'F:\上海python全栈9期\Python9期视频\day 16\json\nick.json')
#6.判断文件是否存在
res = os.path.exists(r'F:\上海python全栈9期\Python9期视频\day 16\json\nick.json')
#7.新建文件夹
os.mkdir(r'F:\上海python全栈9期\Python9期视频\day 16\txt')

浙公网安备 33010602011771号