【发布时间】:2011-11-21 23:38:12
【问题描述】:
我想为我在 python 中创建的文件设置可执行权限。
如果我执行os.chmod(file, stat.S_IXUSR),则会覆盖现有权限。如何将文件的现有权限与可执行权限相结合?
【问题讨论】:
标签: python file permissions
我想为我在 python 中创建的文件设置可执行权限。
如果我执行os.chmod(file, stat.S_IXUSR),则会覆盖现有权限。如何将文件的现有权限与可执行权限相结合?
【问题讨论】:
标签: python file permissions
stat它先。
mode = os.stat(filename).st_mode
os.chmod(filename, mode | stat.S_IXUSR)
【讨论】:
strace chmod g+w <file> 为例,它也没有这样做。所以我想你的答案是绝对正确的。
chmod() 之间的时间内,另一个进程碰巧尝试更改模式,它的动作会被默默地吞下。但是如果我再想一想,如果同时从多个进程中发生动作,那可能随时发生,所以我可能弄错了。
可能只是
os.system('chmod %d "%s"' % ("+x", file))
应该做的伎俩
【讨论】:
subprocess,而不是os.system。
The Guy Named "Bertie".mp3,该怎么办?