我有一个python脚本(scriptname.sh),它使用权限创建,因此它不是执行者(尝试执行它时权限被拒绝)。
在mac的命令行中,我可以在mac命令行
执行以下操作chmod 775 scriptname.sh
它将执行。这给了-rwxrwx-x权限。
我尝试在一个用
创建它的python脚本中以编程方式执行此操作os.chmod(filenamePath, 755)
但它提供了--wxrw - wx并且不会执行。
我应该在python脚本中放置什么以便在命令行执行脚本的权限是正确的?
(更新)我也尝试在bash提示符下运行脚本(上面有os.chmod给出的权限),而scriptname.sh在命令行中不可执行
./scriptname.sh
我查看了chmod,并且我在python中设置了一个提到的方式的权限。我还查看了permissions以查看能够执行脚本需要哪些权限(755)。我不确定为什么将它更改为755在命令行中以编程方式表现不同。
答案 0 :(得分:1)
它需要八进制,所以使用
os.chmod(yourfile, 0775)
在python3上
os.chmod(yourfile, 0o775)
答案 1 :(得分:-1)
你犯了一个常见的错误,就是将一个基数为10的数字传递给需要base-8标志的东西。八进制775的十进制等值是509和755,493