用户没有权限使用os.chmod()

时间:2016-07-18 19:32:47

标签: python file-permissions

我正在尝试打开一个新文件并立即为其提供完整的系统读/写/执行权限。我这样做是这样的:

csvout = open("/Users/me/Google Drive/documentation/report.csv","w")
os.chmod("/Users/me/Google Drive/documentation/report.csv", 0o777)

此命令适用于我和另一位同事(从她的帐户运行它:/ Users / coworker /,但将其保存到我的帐户中的目录,我已授予其完全读/写权限)。但是,当第二个同事到达os.chmod行时会收到错误,因为他显然没有权限在文件上使用chmod。

有时report.csv文件在运行之前就存在了,有时却没有,但是我不知道这会改变什么,因为它会被" w"打开文件而被覆盖。无论如何选项。

当父目录启用了完整的系统权限时,只会导致某些用户无法使用chmod命令会出现什么问题?

1 个答案:

答案 0 :(得分:0)

只允许文件(或超级用户)的所有者更改其权限。当第二个用户运行脚本时,他们不是所有者(第一个用户),因此他们会收到错误。

运行该脚本的第一个用户将创建该文件,然后赋予它777权限,允许任何人写入该文件。

然后,下一个用户可以打开文件进行写入。当他们尝试使用os.chmod()时,他们会收到错误,因为他们不是文件所有者。但由于它已经具有所需的权限,因此这不应该是一个问题。

try的调用周围使用os.chmod()块来忽略错误。