[英]User doesn't have permission to use os.chmod( )
我正在尝试打开一个新文件,并立即赋予它完整的系统读取/写入/执行权限。 我这样做是这样的:
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命令的问题可能出在哪里?
仅文件所有者(或超级用户)可以更改其权限。 当第二个用户运行脚本时,他们不是所有者(第一个用户是所有者),因此会出现错误。
第一个运行该脚本的用户将创建文件,然后为其赋予777
权限,该权限允许任何人写入该文件。
然后,下一个用户将能够打开文件进行写入。 当他们尝试使用os.chmod()
,将得到一个错误,因为他们不是文件所有者。 但是由于它已经具有所需的权限,所以这不应该成为问题。
在os.chmod()
调用周围使用try
块可忽略该错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.