Python3 os.access()方法

2019-10-16 23:08:13
access() 方法使用真正的 uid/gid 測試存取路徑。大多數的操作將使用有效的uid/gid,因此這個程式可以在一個 suid/sgid 環境可以用於測試呼叫使用者是否擁有指定路徑存取許可權。允許存取則返回TRUE,否則返回False。

語法

以下是 access() 方法的語法:
os.access(path, mode)

引數

  • path -- 這是對於存在或任何存取進行測試的路徑

  • mode -- F_OK值是用於測試路徑的存在,或者它可以是在包含或一種或多種R_OK,W_OK,X_OK測試許可權。

    • os.F_OK: 值作為模式引數傳到 access() 測試來路徑是否存在
    • os.R_OK: 值作為模式引數傳到 access() 測試來路徑是否可讀
    • os.W_OK 值作為模式引數傳到 access() 測試來路徑是否可寫
    • os.X_OK 值作為模式引數傳到 access() 測試來路徑是否可執行

返回值

此方法如果允許存取則返回 True ,否則返回 False

範例

下面的範例說明 access() 方法的使用。
#!/usr/bin/python3

import os, sys

# Assuming /tmp/foo.txt exists and has read/write permissions.

ret = os.access("/tmp/foo.txt", os.F_OK)
print ("F_OK - return value %s"% ret)

ret = os.access("/tmp/foo.txt", os.R_OK)
print ("R_OK - return value %s"% ret)

ret = os.access("/tmp/foo.txt", os.W_OK)
print ("W_OK - return value %s"% ret)

ret = os.access("/tmp/foo.txt", os.X_OK)
print ("X_OK - return value %s"% ret)
當我們執行上面的程式,它會產生以下結果:
F_OK - return value True
R_OK - return value True
W_OK - return value True
X_OK - return value False