python基礎一 ------linux某目錄下批量的為特定文件加入可執行權限


需求:

一個文件夾中有個文件,要求對特定的文件加入可執行權限

某文件系統目錄下有一系列文件:
    quicksort
    graph.py
    heap.java
    install.sh
    stack.cpp
    .....
編寫程序對所有的.sh文件和.py文件加上用戶可執行權限

 

解決方法:    

    使用字符串的str.startswith()和str.endswith()方法
  注意,多個匹配時參數使用元組

 

一:首先創建幾個文件,如圖(並沒有可執行權限)

二:具體代碼實現(還可以通過列表表達式)

實現效果:

講解:

  os.listdir(".") :將所在的文件夾下所有文件名以列表形式返回

      x.endswith(".sh")  判斷x這個字符串是否以.sh文件結尾

  x.endwith((".sh",",py"))   判斷這個字符串是否以.sh或者.py文件結尾;注意,必須是元組類型

  

執行權限是怎樣被改變的?

 

  os.stat("a.sh")  查看文件的屬性

  

  注:此部分參考了  這篇博文

  st_mode   ------>    權限模式(十進制)

  st_ino   --------->       inode number

    st_dev  --------->     device

      st_nlike  -------->  number of hard links 

  st_uid    -------->  所有用戶的user_id

      st_gid -----------> 所有用戶組的group_id

      st_size ---------->  文件大小,以位為單位

  st_atime   --------->   文件最后的訪問時間

  st_mtime   -------->  文件的最后修改時間

  st_ctime  --------->  文件的創建時間

  

  查看文件的權限信息,轉八進制,看到 764

  修改權限: 只需將文件的權限與stat.S_IXUSR進行或運算

 


免責聲明!

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



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