本文主要是介绍[Python进阶] 文件相关库:os、pathlib、shutil,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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’)]
这篇关于[Python进阶] 文件相关库:os、pathlib、shutil的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!