Day 16 包 json模块和os模块

什么是包

包就是里一个文件夹,里面存放了多个模块,并且包会自带__init__.py文件,包本质上也是模块

包被导入时发生的三件事

  1. 打开包里面的__init__.py文件
  2. python解释器运行解释__init__.py文件,把运行生成的名字丢入包的名称空间
  3. 导入包其实就是导入init.py中的名字

包和模块的区别

模块是直接打开文件,包是打开里面的init.py文件

包的好处:不改变模块原先的导入方式,并且简化模块开发者的管理复杂度

模块本质是文件,包本质是文件夹,但是包其实就是特殊的模块

相对路径和绝对路径

相对路径的好处:

  1. 如果包的名字改变了,使用相对路径不会对包内的文件造成影响
  2. 使用绝对路径是相对于执行文件而言,二相对路径是对于文件本身而言的

. 当前目录

..上一级目录

...上一级目录的上一级目录

==.号前面必须是一个包.不能是一个模块==

当文件是执行文件时,不能使用相对路径

json模块

json一般用于保存python中的字典(常用)或者列表

res=json.dumps(info)

dumps是将字典在内存中转化为字符串,得到的res就是一组字符串 里面都是双引号

res=json.loads(info)

loads是将字符创在内存中转化成字典,得到的res是就是字典类型的数据

json.dump(info,filename)

filename.write(json.dumps(info))

dump括号中的第一个变量是需要写入文件的内容(字典格式),第二个变量是写入的文件,一般写入专门的.json文件中,如上两行代码的功能是相同的

res=json.load(filename)

res=json.loads(filename.read)

load括号中传入的参数就是目标文件,将读取的内容赋值给res我们就可以对文件进行操作(读出的内容是字典),如上两行代码的功能是相同的

OS模块

import os

列出目录下所有文件

dir_list=os.listdir(filename)

print(dir_list)

重命名文件

os.rename(filename.filename_new)

删除文件

os.remove(filename)

拼接路径

会根据系统拼接不同的路径

os.path.jion(path,filename)

判断是否为文件

os.path.file(filename)

判断是否为文件夹

os.path.is dir(dirname)

判断文件是否存在

os.path.exists(filename)

新建文件夹

os.mkdir(dirname)

猜你喜欢

转载自www.cnblogs.com/masterjian924/p/10986137.html