[Python进阶] 文件相关库:os、pathlib、shutil
最佳答案 问答题库568位专家为你答疑解惑
6.12 文件相关:os、pathlib、shutil
6.12.1 复制文件
import shutilshutil.copy('shutil.txt', 'shutil_copy.txt')
shutil.copyfile('shutil.txt', 'shutil_copyfile.txt')
6.12.2 删除文件
from pathlib import Path
import ospath = Path('pathlib.txt')
path.unlink()
os.unlink('os.txt') # 等同于os.remove
os.remove('os2.txt') # 等同于os.unlink
6.12.3 返回文件属性
from pathlib import Path
import ospath = Path('pathlib.txt')
ic(path.stat())
ic(os.stat('os.txt'))
22:04:37|> path.stat(): os.stat_result(st_mode=33206, st_ino=8444249301385627, st_dev=1276890178, st_nlink=1, st_uid=0, st_gid=0, st_size=14, st_atime=1693749587, st_mtime=1676623456, st_ctime=1693749580)
22:04:37|> os.stat(‘os.txt’): os.stat_result(st_mode=33206, st_ino=7881299347964156, st_dev=1276890178, st_nlink=1, st_uid=0, st_gid=0, st_size=14, st_atime=1693749587, st_mtime=1676623456, st_ctime=1693749580)
6.12.4 返回文件大小
from icecream import ic
import osic(os.path.getsize('os.txt')) # 单位:字节
22:06:25|> os.path.getsize(‘os.txt’): 14
6.12.5 文件匹配
匹配符号说明:
*:任意多个字符
?:任意单个字符
匹配单个文件:
from pathlib import Pathpath = Path('pathlib.txt')
ic(path.match('*?t'))
ic(path.match('*?t?'))
ic(path.match('*.txt'))
22:27:46|> path.match(‘?t’): True
22:27:46|> path.match('?t?’): False
22:27:46|> path.match(‘*.txt’): True
匹配整个目录里的文件和文件夹
from pathlib import Pathpath = Path('.')
ic(list(path.glob('p*')))
22:33:44|> list(path.glob(‘p*’)): [WindowsPath(‘pathlib.txt’),
WindowsPath(‘Personal’),
WindowsPath(‘Project’)]
递归匹配目录中所有文件和文件夹
from pathlib import Pathpath = Path(r'G:\TCL')
ic(list(path.rglob('*t*')))
22:36:36|> list(path.rglob(‘t’)): [WindowsPath(‘G:/TCL/os.txt’),
WindowsPath(‘G:/TCL/pathlib.txt’),
WindowsPath(‘G:/TCL/shutil.txt’),
WindowsPath(‘G:/TCL/Temp’),
WindowsPath(‘G:/TCL/Logs/log.txt’),
WindowsPath(‘G:/TCL/Logs/log.txt.lnk’),
WindowsPath(‘G:/TCL/Logs/loglink.txt’)]
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"[Python进阶] 文件相关库:os、pathlib、shutil":http://eshow365.cn/6-21565-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 英语——歌诀篇——歌诀记忆法
- 下一篇: 如何给Github上的开源项目提交PR?