Python/pathlib:修订间差异
< Python
(创建页面,内容为“Python的一个标准库,面向对象的文件系统路径,用于不同的操作系统。Python 3.4 加入。 ==对象== {| class="wikitable" ! 名称 ! 描述 ! 示例 |- | PurePath | | |- | Path | | |- | | | |} ==方法== ==os模块对应== ==官网== pathlib 官网:https://docs.python.org/3/library/pathlib.html”) |
无编辑摘要 |
||
(未显示同一用户的2个中间版本) | |||
第21行: | 第21行: | ||
==方法== | ==方法== | ||
{| class="wikitable" | |||
|- | |||
! 属性/方法 | |||
! 描述 | |||
! 示例 | |||
|- | |||
| cwd() | |||
| 返回当前工作目录的绝对路径。 | |||
| <code>Path.cwd()</code> | |||
|- | |||
| home() | |||
| 返回用户的主目录。 | |||
| <code>Path.home()</code> | |||
|- | |||
| is_absolute() | |||
| 判断路径是否为绝对路径。 | |||
| <code>Path('/usr/local').is_absolute()</code> | |||
|- | |||
| joinpath() | |||
| 连接路径,并返回一个新路径对象。 连接路径使用<code>/</code>更方便,如<code>Path('/usr/local') / 'abc' / 'test.csv'</code> 将返回Path('/usr/local/abc/test.csv') | |||
| <code>Path('/usr/local').joinpath('bin/python3')</code> | |||
|- | |||
| name | |||
| 返回路径的最后一部分,不包括末尾的分隔符。 | |||
| <code>Path('/usr/local/bin/python3').name</code> | |||
|- | |||
| parent | |||
| 返回路径的父目录,即去掉最后一部分后的路径。 | |||
| <code>Path('/usr/local/bin/python3').parent</code> | |||
|- | |||
| parents | |||
| 返回所有父目录的路径,从最远的祖先开始。 | |||
| <code>Path('/usr/local/bin/python3').parents</code> | |||
|- | |||
| suffix | |||
| 返回路径的文件扩展名,包括分隔符。 | |||
| <code>Path('/usr/local/bin/python3').suffix</code> | |||
|- | |||
| with_name() | |||
| 将路径的最后一部分更改为给定的名称。 | |||
| <code>Path('/usr/local/bin/python3').with_name('python2')</code> | |||
|- | |||
| with_suffix() | |||
| 返回与当前路径相同,但文件扩展名不同的新路径。 | |||
| <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日 (一) 07: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文件。
|