每天编程:继续谈谈 python pathlib

本文内容翻译自 python3_with_pleasure 

pathlib 现在是 python 3 的标准库,避免你来写一大堆 os.path.join。

from pathlib import Path

dataset = 'wiki_images'
datasets_root = Path('/path/to/datasets/')

train_path = datasets_root / dataset / 'train'
test_path = datasets_root / dataset / 'test'

for image_path in train_path.iterdir():
    with image_path.open() as f: # note, open is a method of Path object
        # do something with an image

我们可以看到一个在机器学习中使用到的场景,训练数据的路径和测试用路径,通过很简单的 / 符号就连接起来了。代码安全、简洁、可读性好。

pathlib.path 有一大堆的方法和属性,我们可以减少很多花费在搜索引擎上的时间。

p.exists()
p.is_dir()
p.parts
p.with_name('sibling.png') # only change the name, but keep the folder
p.with_suffix('.jpg') # only change the extension, but keep the folder and the name
p.chmod(mode)
p.rmdir()

发表评论

电子邮件地址不会被公开。 必填项已用*标注