Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更改Python中的文件权限?_Php_Python - Fatal编程技术网

Php 如何更改Python中的文件权限?

Php 如何更改Python中的文件权限?,php,python,Php,Python,我试图找到与此PHP代码等效的Python代码,但我不确定如何翻译0640: PHP代码: chmod($credentials_file, 0640); chown($credentials_file, 'webapp'); 我正在查看os.chmod文档,但我不确定0640如何等同于stat.SOMETHING\u这里。有人知道如何将这两行移植到Python吗?0640是一个八进制数(这是前导的0的意思,它不算作数字),表示以下权限(参见示例): 第一个数字表示文件的所有者,并且(如6是

我试图找到与此PHP代码等效的Python代码,但我不确定如何翻译
0640

PHP代码:

chmod($credentials_file, 0640);
chown($credentials_file, 'webapp');
我正在查看os.chmod文档,但我不确定
0640
如何等同于
stat.SOMETHING\u这里
。有人知道如何将这两行移植到Python吗?

0640
是一个八进制数(这是前导的
0
的意思,它不算作数字),表示以下权限(参见示例):

  • 第一个数字表示文件的所有者,并且(如
    6
    是二进制的
    110
    ,其中位分别是read、write和execute权限)表示 读写权限
  • 第二个数字代表,并且(如
    4
    100
    二进制)表示只读;及
  • 第三位数字代表其他用户,表示没有权限(
    0
    000
    !)
因此,在这种情况下,您需要将
S_IRUSR
(用户读取)、
S_IWUSR
(用户写入)和
S_IRGRP
(组读取)结合起来:


通过以二进制形式显示八进制数,可以单独查看每个权限:

>>> bin(0640)
'0b110100000'
具体如下:

 # USR
0b 110 100 000
 # ^ user read (yes)
 #  ^ user write (yes)
 #   ^ user execute (no)

     # GRP
0b 110 100 000
     # ^ group read (yes)
     #  ^ group write (no)
     #   ^ group execute (no)

         # OTH
0b 110 100 000
         # ^ other read (no)
         #  ^ other write (no)
         #   ^ other execute (no)
0640
是一个八进制数(即前导的
0
,不算作数字),表示以下权限(参见示例):

  • 第一个数字表示文件的所有者,并且(如
    6
    是二进制的
    110
    ,其中位分别是read、write和execute权限)表示 读写权限
  • 第二个数字代表,并且(如
    4
    100
    二进制)表示只读;及
  • 第三位数字代表其他用户,表示没有权限(
    0
    000
    !)
因此,在这种情况下,您需要将
S_IRUSR
(用户读取)、
S_IWUSR
(用户写入)和
S_IRGRP
(组读取)结合起来:


通过以二进制形式显示八进制数,可以单独查看每个权限:

>>> bin(0640)
'0b110100000'
具体如下:

 # USR
0b 110 100 000
 # ^ user read (yes)
 #  ^ user write (yes)
 #   ^ user execute (no)

     # GRP
0b 110 100 000
     # ^ group read (yes)
     #  ^ group write (no)
     #   ^ group execute (no)

         # OTH
0b 110 100 000
         # ^ other read (no)
         #  ^ other write (no)
         #   ^ other execute (no)

这个答案的可能重复并没有讨论
stat.*
选项。我如何才能找到
0640
的意思,以便使用文档(问题中的参考)推荐的方法?
0640
6
=所有者可读,
4
=组可读,
0
=其他不可读答案的可能副本不讨论
stat.
选项。我怎样才能找到
0640
的意思,这样我就可以使用文档(问题中的参考资料)推荐的方法?
0640
6
=所有者可读/可写,
4
=组可读,
0
=其他不可读—这正是我需要知道的(而不是“可能的重复”帖子所说的)。谢谢@Brett我刚刚意识到我没有明确表示可以使用
0640
作为
os.chmod
的第二个参数;
stat
中的常量只是,例如
stat.S_IWUSR==128
,它们没有什么特别之处。这正是我需要知道的(而不是“可能的重复”帖子所说的)。谢谢@Brett我刚刚意识到我没有明确表示可以使用
0640
作为
os.chmod
的第二个参数;
stat
中的常量只是,例如
stat.S_IWUSR==128
,它们没有什么特别之处。