>>> from env_helper import info; info()
页面更新时间: 2024-03-29 16:03:45
运行环境:
Linux发行版本: Debian GNU/Linux 12 (bookworm)
操作系统内核: Linux-6.1.0-18-amd64-x86_64-with-glibc2.36
Python版本: 3.11.2
3.1. 使用 pathlib
模块¶
pathlib
模块使用面向对象的模式实现了文件与文件夹的列出与操作。
与基于字符串的方式(如 glob
或 os.path
)更容易理解与使用。
pathlib
模块使用函数 glob
与 rglob
进行文件遍历,其中
rglob
使用嵌套方式。
>>> from pathlib import Path
3.1.1. 遍历目录¶
>>> inws = Path('.')
>>> for entity in inws.glob('*.txt'):
>>> print(entity)
xx_text.txt
>>> for entity in inws.rglob('*.txt'):
>>> print(entity)
xx_text.txt
new/hello1.txt
new/hello2.txt
xx_out/new/hello1.txt
xx_out/new/hello2.txt
>>> for entity in inws.glob('*'):
>>> print(entity)
xx_new2.zip
sec09_libarchive.ipynb
xx_test.tar.gz
sec08_practice1.ipynb
sec07_renam.ipynb
sec03_shutil.ipynb
sec02_walktree.ipynb
new.zip
new
sec06_zipfile.ipynb
xx_out
sec01_pathlib.ipynb
xx_text.txt
xsec06_practice2.ipynb
.ipynb_checkpoints
sec04-glob.ipynb
chapter.ipynb
>>> for entity in inws.iterdir():
>>> print(entity)
xx_new2.zip
sec09_libarchive.ipynb
xx_test.tar.gz
sec08_practice1.ipynb
sec07_renam.ipynb
sec03_shutil.ipynb
sec02_walktree.ipynb
new.zip
new
sec06_zipfile.ipynb
xx_out
sec01_pathlib.ipynb
xx_text.txt
xsec06_practice2.ipynb
.ipynb_checkpoints
sec04-glob.ipynb
chapter.ipynb
>>> for entity in inws.rglob('**'):
>>> print(entity)
.
new
xx_out
xx_out/new
.ipynb_checkpoints
3.1.2. 查看文件属性¶
>>> for entity in inws.rglob('*.txt'):
>>> print(entity)
>>> print(entity.stat().st_ctime)
>>> print(entity.stat().st_mtime)
xx_text.txt
1708570335.110625
1688124307.195595
new/hello1.txt
1708570335.1226256
1705671810.707465
new/hello2.txt
1708570335.1226256
1705671810.7154653
xx_out/new/hello1.txt
1708570335.1226256
1705671810.6994646
xx_out/new/hello2.txt
1708570335.1226256
1705671810.6994646