跳到内容

os-symlink (PTH211)

派生自 flake8-use-pathlib linter。

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查 os.symlink 的使用情况。

为什么这不好?

os.symlink 提供的较低级别 API 相比,pathlib 为路径操作提供了一个高级 API。

示例

import os

os.symlink("usr/bin/python", "tmp/python", target_is_directory=False)

建议改为

from pathlib import Path

Path("tmp/python").symlink_to("usr/bin/python")

已知问题

虽然使用 pathlib 可以提高代码的可读性和类型安全性,但与直接使用字符串的较低级替代方案相比,它的性能可能会降低,尤其是在旧版本的 Python 上。

参考