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')
                    
posted @ 2019-06-06 22:33  海森t  阅读(54)  评论(0)    收藏  举报