检查路径是否可以使用 posix 模块访问。

问题描述 投票:0回答:1

如何使用Python中的posix模块来检查给定的路径是否可以访问,我所说的可以访问是指我可以对这个文件夹中的任何文件进行修改,所以我有root权限,另外,我想知道哪些文件我不能访问。

我在 access 函数,但我并不真正理解它,我如何使用它,它又如何帮助我。

import posix

result = posix.access('/home/user/Desktop', 1) # what does that number mean ?
print(result) # True or False
python posix
1个回答
2
投票

从 posix 模块的 python 文档中可以看到。https:/docs.python.org3libraryposix.html#module-posix。

不要直接导入这个模块。取而代之的是导入 os 模块,它提供了这个接口的可移植版本。

你可以在这里找到更多关于os.access的信息,包括一个例子。https:/docs.python.org3libraryos.html#os.access

但是请注意这个例子所说的。

在实际使用open()之前,使用access()来检查一个用户是否被授权打开一个文件。制造安全漏洞因为用户可能会利用检查和打开文件之间的短暂时间间隔来操作文件。最好是使用EAFP技术。

如果你仍然想只使用.access,你的代码会像这样。

import os

result = os.access('/home/user/Desktop', os.F_OK) 
print(result) # True or False

第二个参数是模式:

  • os.F_OK - 作为access()的模式参数传递的值,用于测试路径是否存在。
  • os.R_OK - 包含在access()的模式参数中的值,用于测试路径的可读性。
  • os.W_OK - 包含在访问()的模式参数中的值,用于测试路径的可写性。
  • os.X_OK - 包含在 access()的模式参数中的值,用来判断路径是否可以执行。
© www.soinside.com 2019 - 2024. All rights reserved.