文件
读写
open() 是 Python 自带的函数,用于读写文件。
with open('/home/ws/some/file.md', 'r') as f:
content = f.read()
模式:
- 读写
r:read,读(默认),文件不存在则报错w:write,写,先清空文件,文件不存在则创建文件a:append,续写,不清空文件,文件不存在则创建文件,默认在原文后面接着写,也可以在指定位置开始写x:create,创建,若文件已存在则报错
+:读且写,这个不能单独存在,要加在r、w、a或x后面r+和w+区别是w+会清空文件,都是从头写r+和a+区别是a+从后面开始写
- 文本/二进制
b:二进制模式t:文本模式(默认)
路径 Path
os.path 和 pathlib 都可以处理路径。pathlib 是面对对象的。
os.path
>>> from os.path import *
>>> p = '/home/ws/simple.file.json'
>>> abspath(p) # 绝对路径
'C:\\home\\ws\\simple.file.json'
>>> basename(p) # 文件名
'simple.file.json'
>>> dirname(p) # 目录
'/home/ws'
>>> join('anything', p) # 拼接两个路径
'/home/ws/simple.file.json'
>>> join('c:', p)
'c:/home/ws/simple.file.json'
>>> join('c:\\', p)
'c:/home/ws/simple.file.json'
>>> join(p, '.js')
'/home/ws/simple.file.json\\.js'
>>> split(p) # 目录 + 文件名
('/home/ws', 'simple.file.json')
>>> splitdrive(p) # 硬盘名 + 路径
('', '/home/ws/simple.file.json')
>>> splitext(p) # 路径 + 扩展名
('/home/ws/simple.file', '.json')
pathlib
>>> from pathlib import Path
>>> Path(p) # 自动构建路径
WindowsPath('/home/ws/simple.file.json')
>>> Path(p).name # 文件/路径名
'simple.file.json'
>>> Path(p).stem # 文件名除去最后一个扩展名
'simple.file'
>>> Path(p).suffix # 扩展名
'.json'
>>> Path(p).suffixes # 所有扩展名
['.file', '.json']
>>> 'c:' / Path(p) # 直接用 / 符号拼接路径
WindowsPath('c:/home/ws/simple.file.json')
>>> with Path('基础.md').open() as f: f # Path.open()
...
<_io.TextIOWrapper name='基础.md' mode='r' encoding='cp1252'>