python - 如何使用 Pathlib 检查文件夹/文件权限

标签 python python-3.x pathlib

是否存在与 os.access() 等效的 Pathlib?

如果没有 Pathlib,代码将如下所示:

import os
os.access('my_folder', os.R_OK)  # check if script has read access to folder

但是,在我的代码中,我正在处理 Pathlib 路径,因此我需要这样做(这只是一个示例):

# Python 3.5+
from pathlib import Path
import os

# get path ~/home/github if on Linux
my_folder_pathlib = Path.home() / "github"
os.access(str(my_folder_pathlib), os.R_OK)

str() 的转换有点难看。 我想知道是否有一个纯 Pathlib 解决方案来实现我想要实现的目标?

附:我知道“更容易请求宽恕”这一原则,但这是一个更大框架的一部分,我需要尽快知道该脚本是否具有对 NAS 存储文件夹的正确权限。

最佳答案

从 Python 3.6 开始,os.access() 接受类似路径的对象,因此不再需要 str(): https://docs.python.org/3/library/os.html#os.access

尽管这仍然不是一个纯粹的 Pathlib 解决方案。

关于python - 如何使用 Pathlib 检查文件夹/文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58534564/

相关文章:

python - pathlib.Path(path).mkdir(),不创建目录

python - 将尾部斜杠添加到 pathlib 目录的最佳方法是什么?

python - pathlib/configparser 的 Airflow 问题 - 'PosixPath' 对象不可迭代

python - Django URL 正则表达式 : make URL tolerate int or float values

python-3.x - Pandas 修剪特定的主角

django - python-social-auth 与 Django : ImportError: No module named 'social_django'

python - 循环遍历 Pandas 的列以减去值

python - 初学者 - GUI 切换按钮

python - 检查点是否位于凸包内

python - 通过 Python/SUDS 调用运行时 SOAP 方法