Python/pathlib:修订间差异
< Python
无编辑摘要 |
无编辑摘要 |
||
第66行: | 第66行: | ||
| 返回与当前路径相同,但文件扩展名不同的新路径。 | | 返回与当前路径相同,但文件扩展名不同的新路径。 | ||
| <code>Path('/usr/local/bin/python3').with_suffix('.py')</code> | | <code>Path('/usr/local/bin/python3').with_suffix('.py')</code> | ||
|- | |||
| [https://docs.python.org/zh-cn/3/library/pathlib.html#pathlib.Path.glob glob()] | |||
| 返回此目录中匹配的文件。 | |||
|<syntaxhighlight lang="python" > | |||
from pathlib import Path | |||
p = Path(r'D:\下载目录') | |||
for file in p.glob('*.zip'): | |||
print(file.name) | |||
</syntaxhighlight> <br /> <code>Path('.').glob('*/*.py')</code> 当前目录及其所有子目录中的py文件。 | |||
|- | |||
| [https://docs.python.org/zh-cn/3/library/pathlib.html#pathlib.Path.rglob rglob()] | |||
| 返回此目录及其所有子目录中匹配的文件,即递归查找。相当于Path.glob()给定的相对 pattern 前面添加了 "**/" | |||
| <code>Path('.').glob('*.py')</code> 当前目录及其所有子目录中的py文件。 | |||
|} | |} | ||
{{了解更多 | |||
|[https://docs.python.org/zh-cn/3/library/pathlib.html Python 文档:pathlib --- 面向对象的文件系统路径] | |||
}} | |||
==os模块对应== | ==os模块对应== | ||
2023年4月17日 (一) 05:32的版本
Python的一个标准库,面向对象的文件系统路径,用于不同的操作系统。Python 3.4 加入。
对象
名称 | 描述 | 示例 |
---|---|---|
PurePath | ||
Path | ||
方法
属性/方法 | 描述 | 示例 |
---|---|---|
cwd() | 返回当前工作目录的绝对路径。 | Path.cwd()
|
home() | 返回用户的主目录。 | Path.home()
|
is_absolute() | 判断路径是否为绝对路径。 | Path('/usr/local').is_absolute()
|
joinpath() | 连接路径,并返回一个新路径对象。 连接路径使用/ 更方便,如Path('/usr/local') / 'abc' / 'test.csv' 将返回Path('/usr/local/abc/test.csv')
|
Path('/usr/local').joinpath('bin/python3')
|
name | 返回路径的最后一部分,不包括末尾的分隔符。 | Path('/usr/local/bin/python3').name
|
parent | 返回路径的父目录,即去掉最后一部分后的路径。 | Path('/usr/local/bin/python3').parent
|
parents | 返回所有父目录的路径,从最远的祖先开始。 | Path('/usr/local/bin/python3').parents
|
suffix | 返回路径的文件扩展名,包括分隔符。 | Path('/usr/local/bin/python3').suffix
|
with_name() | 将路径的最后一部分更改为给定的名称。 | Path('/usr/local/bin/python3').with_name('python2')
|
with_suffix() | 返回与当前路径相同,但文件扩展名不同的新路径。 | Path('/usr/local/bin/python3').with_suffix('.py')
|
glob() | 返回此目录中匹配的文件。 | from pathlib import Path
p = Path(r'D:\下载目录')
for file in p.glob('*.zip'):
print(file.name)
Path('.').glob('*/*.py') 当前目录及其所有子目录中的py文件。
|
rglob() | 返回此目录及其所有子目录中匹配的文件,即递归查找。相当于Path.glob()给定的相对 pattern 前面添加了 "**/" | Path('.').glob('*.py') 当前目录及其所有子目录中的py文件。
|