脚本在mac中不可执行

时间:2016-11-22 17:30:29

标签: python permissions

我有一个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在命令行中以编程方式表现不同。

2 个答案:

答案 0 :(得分:1)

它需要八进制,所以使用

os.chmod(yourfile, 0775)

在python3上

os.chmod(yourfile, 0o775)

答案 1 :(得分:-1)

你犯了一个常见的错误,就是将一个基数为10的数字传递给需要base-8标志的东西。八进制775的十进制等值是509和755,493