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

12

有没有Pathlib版本的os.access()

如果不用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 解决方案 可以实现我想要的目标?

p.s. 我知道 "请求宽恕比请求许可更容易" 的原则,但这是一个更大框架的一部分,我需要尽快知道脚本是否具有对 NAS 存储文件夹的正确权限。

2个回答

9

3
使用Path对象的stat()方法,然后查找st_mode属性。

Path().stat().st_mode


如何解释st_mode的输出?找不到任何文档... - prog2de
https://docs.python.org/3/library/stat.html - dehidehidehi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接