Python os.access()方法

2019-10-16 23:04:08

Python os.access()方法方法使用真實的uid/gid來測試存取路徑。大多數操作將使用有效的uid/gid,因此該例程可以在suid/sgid環境中使用,以測試呼叫使用者是否具有指定的存取許可權。如果允許存取則返回True,否則返回False

語法

以下是access()方法的語法 -

os.access(path, mode)

引數

  • path ? 這是檔案中讀/寫指標的位置。
  • mode ? 這應該是F_OK,用來測試路徑的存在,或者它可以是R_OKW_OKX_OK中的一個或多個的包含OR來測試許可權。
    • os.F_OK - 作為access()mode引數傳遞的值以測試路徑的存在。
    • os.R_OK - 包含在access()mode引數中的值,以測試路徑的可讀性。
    • os.W_OK - 要包含在access()mode引數中的值,以測試路徑的可寫性。
    • os.X_OK - 要包含在access()mode引數中的值,以確定是否可以執行路徑。

返回值

  • 如果允許存取,此方法返回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)

執行上面程式碼後,將得到以下結果 -

Name of the file:  foo.txt
F_OK - return value True
R_OK - return value True
W_OK - return value True
X_OK - return value False