zoukankan      html  css  js  c++  java
  • 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进行或运算

  • 相关阅读:
    弱口令扫描.python脚本
    扫描web目录的Python小脚本
    Linux /etc目录重要文件
    linux(centos7)系统优化
    泛型程序设计
    对象包装器与自动装箱
    打包apk时,提示:error: Error: Resource is not public.
    SpringMVC分页实现
    IDEA搭建基于maven 的SSM框架
    ssm框架搭建
  • 原文地址:https://www.cnblogs.com/ruoniao/p/6890434.html
Copyright © 2011-2022 走看看