【发布时间】:2021-12-29 10:46:37
【问题描述】:
这个 bash 命令在 Python 中的等价物是什么?
chmod -R u+x $dir_path
有os.fchmod,但不确定它是否像原始命令一样递归应用。
这和我想要的一样吗?
import os
import stat
from pathlib import Path
fd = Path(dir_path).open().fileno()
os.fchmod(fd, stat.S_IXUSR)
【问题讨论】:
-
可能是
os.walk(path)然后os.chmod()每个文件单独。无需使用需要文件句柄的os.fchmod(fd)变体。当然,你总是可以使用os.system()来运行chmod。 -
@Demi-Lune 几乎相同,尽管这个问题与文件所有权有关。