【Python】Python檢測是否有訪問權限


本文參照菜鳥教程,練習使用並動手改寫了某些方法,僅供自己學習,如需詳細了解請跳轉菜鳥教程:http://www.runoob.com/python3/python3-os-file-methods.html

 

檢驗權限模式

os.access(path,mode)

參數:

  • path --要用來檢測是否有訪問權限的路徑。
  • mode --常用4種模式如下:
    • os.F_OK:測試path是否存在
    • os.R_OK:測試path是否可讀
    • os.W_OK:測試path是否可寫
    • os.X_OK:測試path是否可執行

返回值: 如果允許訪問則返回True,否則返回False。

例子:

  • 先看一個菜鳥教程上的例子
import os, sys

# 假定 /tmp/foo.txt 文件存在,並有讀寫權限

ret = os.access("/tmp/foo.txt", os.F_OK)
print ("F_OK - 返回值 %s"% ret)

ret = os.access("/tmp/foo.txt", os.R_OK)
print ("R_OK - 返回值 %s"% ret)

ret = os.access("/tmp/foo.txt", os.W_OK)
print ("W_OK - 返回值 %s"% ret)

ret = os.access("/tmp/foo.txt", os.X_OK)
print ("X_OK - 返回值 %s"% ret)
  • 再加上循環,這里使用了eval()函數用以轉換提取的數組元素,字符串,關於eval()后面再學習
#-*-coding:utf-8-*-
import os,sys

#假定f1.txt文件存在,並具有讀寫權限

file_mode =['os.F_OK','os.R_OK','os.W_OK','os.X_OK']

#通過序列索引迭代
for index in range(len(file_mode)):
    results =os.access("f1.txt",eval(file_mode[index]))
    print(str(file_mode[index]) + " - 返回值: %s"% results)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM