python调用配置文件,下载python没有勾选环境变量

  python调用配置文件,下载python没有勾选环境变量

  linux文件权限简介

  在linux中,文件的权限分为‘所有者、组和其他用户’三种角色。每个角色用三位表示,3位从左到右执行三种读写权限。3位的取值范围是0~7。因此,如果直接在linux中执行chmod 777 xxx.sh,那么xxx.sh文件将被交给所有者、组和其他用户读写xxx.sh文件。

  os的Chmod

  python的os模块负责操作系统层面的操作。修改文件权限可以通过操作系统的chmod方法来完成。

  os.chmod(路径,模式)

  方法的路径指向要被授予权限的文件或目录;

  Mode是权限值,即9位文件权限的十进制数,取值范围为0 ~ 511;

  比如我们要给所有者xxx.sh文件读权限,而其他角色没有任何权限,那么在linux中对应的文件权限就会被查看为:-r-;第一个-是文件类型,后9位代表整个文件的权限,对应二进制数10000000,所以我们的模式应该是256;

  所以上面的权限修改代码是os.chmod(xxx.sh ,256)。

  这么麻烦?

  幸运的是,stat模块提供了可以直接使用的常量值。

  常数

  形容

  徐

  所有者的读写执行权限,代表值:448

  S_IRUSR

  由所有者读取,代表值:256

  S_IWUSR

  所有者,代表值:128

  S_IXUSR

  所有者,代表值:64

  S_IRWXG

  用户组的读写执行权限,代表值:56

  S_IRGRP

  用户组读取,代表值:32

  S_IWGRP

  用户群,代表值:16

  S_IXGRP

  用户组执行,代表值:8

  S_IRWXO

  其他用户读写,代表值:7

  斯罗斯

  其他用户阅读,代表值:4

  S_IWOTH

  其他用户写的,代表值:2

  S_IXOTH

  由其他用户执行,代表值:1

  下面的代码是把xxx.sh文件交给所有者读写,用户组读取,其他用户读取,即-rwxr-xr:

  导入操作系统

  进口统计

  os.chmod(xxx.sh ,stat。S_IRWXU stat。S_IRGRP stat。S_IXGRP统计。S_IROTH)

  什么?感觉不变记不住?还是不方便?

  写一个类似chmod 777用法的util

  进口re

  导入操作系统

  进口统计

  RD,WD,XD=4,2,1

  BNS=[研发、生产、销售]

  MDS=[

  [统计。S_IRUSR,统计。S_IRGRP,统计。S_IROTH],

  [统计。S_IWUSR,统计。S_IWGRP,统计。S_IWOTH],

  [统计。S_IXUSR,统计。S_IXGRP,统计。S_IXOTH]

  ]

  def chmod(路径,模式):

  if isinstance(mode,int):

  mode=str(模式)

  如果不是re.match(^[0-7]{1,3}$,模式):

  引发异常(“模式不符合^[0-7]{1,3}$模式”)

  mode=“{ 0:03 }”。格式(模式)

  mode_num=0

  对于midx,m处于枚举(模式):

  对于bnidx,枚举中的bn(BNS):

  if (int(m) bn) 0:

  mode_num=MDS

  os.chmod(路径,模式编号)

  if __name__==__main__ :

  Chmod(xxx.sh , 744) #744代表所有者的读写执行,组和其他权限都是只读。

  同样,你也可以让它支持chmod urwx,grw,orwxxx.sh的用法。

  注意:os.chmod好像没有办法递归修改目录中所有文件的权限?然后使用下面的子流程直接调用命令…

  子进程直接调用chmod命令。

  子流程模块实现子流程的操作。您可以调用操作系统命令或在子进程中执行shell,并获取stdout和stderr。

  导入子流程

  if __name__==__main__ :

  cmd=[chmod ,-R , 777 , xxx.sh]

  res=subprocess.run(cmd,universal_newlines=True,stdout=subprocess。管道,

  stderr=子流程。管道,外壳=假)

  print(res.returncode,res.stdout,res.stderr)

  关于Python3通过chmod修改目录或文件权限的例子,本文到此结束。关于Python3 chmod修改目录或文件权限的更多信息,请搜索聚米学院之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持聚米学院!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: