zoukankan      html  css  js  c++  java
  • ✍37 os.chmod( )修改文件权限

    os.chmod 和 os.lchmod (只支持 unix 下使用)

    语法

    os.lchmod(path, mode)
    

    参数

    • path -- 设置标记的文件路径
    • mode -- 可以是以下一个或多个组成,多个使用 "|" 隔开:
      • stat.S_IXOTH: 其他用户有执行权0o001
      • stat.S_IWOTH: 其他用户有写权限0o002
      • stat.S_IROTH: 其他用户有读权限0o004
      • stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007 ******
      • stat.S_IXGRP: 组用户有执行权限0o010
      • stat.S_IWGRP: 组用户有写权限0o020
      • stat.S_IRGRP: 组用户有读权限0o040
      • stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070 ******
      • stat.S_IXUSR: 拥有者具有执行权限0o100
      • stat.S_IWUSR: 拥有者具有写权限0o200
      • stat.S_IRUSR: 拥有者具有读权限0o400
      • stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700 ******
      • stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
      • stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
      • stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
      • stat.S_IREAD: windows下设为只读
      • stat.S_IWRITE: windows下取消只读
      • stat.S_IEXEC: Execute by owner.对于拥有者执行的权限

    实例

    import os, sys
    
    # 打开文件
    path = "/var/www/html/foo.txt"
    fd = os.open( path, os.O_RDWR|os.O_CREAT )
    
    # 关闭文件
    os.close( fd )
    
    # 修改文件权限
    # 设置文件可以通过组执行
    os.lchmod( path, stat.S_IXGRP)
    
    # 设置文件可以被其他用户写入
    os.lchmod("/tmp/foo.txt", stat.S_IWOTH)
    
    print ("修改权限成功!!")
    

    测试

    • 测试了下 lchmod 用不了, chmod 可以使用, 没有深究

    image-20210906105855805

    修改文件的权限,我之前想要递归的修改文件的权限, 思考着循环, 但是不必

    直接使用 os.system 执行系统命令就好了

    image-20210906110020379

    OS.mkdir 和 os.makedirs 的区别

    • os.mkdir 只创建最后一级目录, 前面的路径不存在会报错
    • os.makedirs 递归的创建目录
  • 相关阅读:
    8_python连接数据库
    7_数据类型
    Memcached delete 命令
    Memcached gets 命令
    Memcached get 命令
    Memcached CAS 命令
    Memcached prepend 命令
    Memcached append 命令
    Memcached replace 命令
    Memcached add 命令
  • 原文地址:https://www.cnblogs.com/songhaixing/p/15607048.html
Copyright © 2011-2022 走看看