How to check folder / file permissions with Pathlib

房东的猫 提交于 2021-01-02 07:57:50

问题


Is there a Pathlib equivalent of os.access()?

Without Pathlib the code would look like this:

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

However, in my code I'm dealing with Pathlib paths, so I would need to do this (this is just an example):

# 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)

The casting to str() is kinda ugly. I was wondering if there is a pure Pathlib solution for what I'm trying to achieve?

p.s. I'm aware of the principle "easier to ask for forgiveness", however this is part of a bigger framework, and I need to know as soon as possible if the script has the right permissions to a NAS stored folder.


回答1:


From Python 3.6, os.access() accepts path-like objects, therefore no str() needed anymore: https://docs.python.org/3/library/os.html#os.access

Although this is still not a pure Pathlib solution.



来源:https://stackoverflow.com/questions/58534564/how-to-check-folder-file-permissions-with-pathlib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!