目录
- 1. 文件与文件路径
-
- 1.1 生成文件路径
- 1.2 当前工作目录(.cwd())
- 1.3 主目录(.home())
- 1.4 用 os.makedirs() 创建新文件夹
- 1.5 处理绝对路径和相对路径
- 1.6 取得文件路径的各部分
- 1.7 查看文件大小和文件夹内容
- 1.8 使用通配符模式修改文件列表
- 1.9 检查路径的有效性
- 2. 文件读写过程
-
- 2.1 用 open() 函数打开文件
- 2.2 读取文件内容
- 2.3 写入文件
- 3. 用 shelve 模块保存变量
1. 文件与文件路径
1.1 生成文件路径
from pathlib import Path
myFiles = ["C++", "Java", "Python"]
for filename in myFiles:
print(Path("D:\\Study", filename))
1.2 当前工作目录(.cwd())
from pathlib import Path
print(Path.cwd())
1.3 主目录(.home())
from pathlib import Path
print(Path.home())
1.4 用 os.makedirs() 创建新文件夹
import os
os.makedirs(".\\ABC\\abc")
from pathlib import Path
Path(".\\ABC").mkdir()
1.5 处理绝对路径和相对路径
from pathlib import Path
file = Path.cwd()
print(file)
print(file.is_absolute())
- os.path 模块
- abspath() :获取绝对路径
- isabs() :判断是否为绝对路径
- relpath() :获取后方文件到前方文件的相对路径,后方文件默认为当前工作目录
import os.path
file = "..\\"
print(os.path.abspath(file))
print(os.path.isabs(file))
print(os.path.relpath("D:\\Study\\Java", "D:\\Study\\C++"))
1.6 取得文件路径的各部分
- 锚点(anchor):文件系统的根文件夹
- 驱动器(drive):物理硬盘驱动器或其他存储设备
- 父文件夹(parent):包含该文件的文件夹
- 文件名(name)
from pathlib import Path
file = Path(Path.cwd(), "test.py")
print(file.anchor)
print(file.drive)
print(file.parent)
print(file.name)
print(file.stem)
print(file.suffix)
1.7 查看文件大小和文件夹内容
import os.path
from pathlib import Path
print(os.path.getsize(Path(Path.cwd(), "test.py")))
print(os.listdir(Path.cwd()))
1.8 使用通配符模式修改文件列表
from pathlib import Path
file = Path.cwd()
print(list(file.glob("*.py")))
1.9 检查路径的有效性
- exists() :判断路径是否存在
- is_file() :判断路径是否存在,且是否为一个文件
- is_dir() :判断路径是否存在,且是否为一个文件夹
from pathlib import Path
file = Path.cwd()
print(file.exists())
print(file.is_file())
print(file.is_dir())
2. 文件读写过程
2.1 用 open() 函数打开文件
open("messages.txt")
2.2 读取文件内容
- read() :将全部内容输出
- readlines() :按行保存在数组中(保留换行字符)
message = open("messages.txt")
print(message.read())
print(message.readlines())
message.close()
2.3 写入文件
- open()的模式设置
- “r”:只读(默认)
- “w”:只写
- “a”:附加
- “r+”:读写
message = open("messages.txt", "w")
message.write("123")
message = open("messages.txt")
print(message.read())
message.close()
3. 用 shelve 模块保存变量
import shelve
file = shelve.open("mydata")
items = ["A", "B", "C", "D", "E", "F"]
file['items'] = items
file.close()
file = shelve.open("mydata")
print(list(file.keys()))
print(list(file.values()))
print(file["items"])
file.close()