目录
- 包
- 什么是包
- 包被导入时发生的三件事
- 包和模块的区别
- 相对路径和绝对路径
- json模块
- OS模块
- 列出目录下所有文件
- 重命名文件
- 删除文件
- 拼接路径
- 判断是否为文件
- 判断是否为文件夹
- 判断文件是否存在
- 新建文件夹
包
什么是包
包就是里一个文件夹,里面存放了多个模块,并且包会自带__init__.py文件,包本质上也是模块
包被导入时发生的三件事
- 打开包里面的__init__.py文件
- python解释器运行解释__init__.py文件,把运行生成的名字丢入包的名称空间
- 导入包其实就是导入init.py中的名字
包和模块的区别
模块是直接打开文件,包是打开里面的init.py文件
包的好处:不改变模块原先的导入方式,并且简化模块开发者的管理复杂度
模块本质是文件,包本质是文件夹,但是包其实就是特殊的模块
相对路径和绝对路径
相对路径的好处:
- 如果包的名字改变了,使用相对路径不会对包内的文件造成影响
- 使用绝对路径是相对于执行文件而言,二相对路径是对于文件本身而言的
. 当前目录
..上一级目录
...上一级目录的上一级目录
==.号前面必须是一个包.不能是一个模块==
当文件是执行文件时,不能使用相对路径
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)