gpt4 book ai didi

python - 有没有一种方法可以在没有 os.chmod 的情况下为 *nix 系统在 Python 中创建可执行文件?

转载 作者:太空宇宙 更新时间:2023-11-04 00:34:32 25 4
gpt4 key购买 nike

默认情况下,open 使用 666 八进制权限写入文件:-rw-rw-rw-。我想知道是否有办法让 open 创建带有执行位集的文件。例如,如果假设我的系统的 umask 值为 0000,那么任何使用 open 写入的文件都将使用 -rw-rw-rw- 权限写入:

$ umask 
0000

>>> open("aaa", "w")

$ ls -l aaa
-rw-rw-rw- 1 Kuser Kuser 0 Jun 19 08:44 aaa

我正在寻找一种方法将 open 的默认权限值设置为八进制 777,这样我就可以直接编写可执行文件而无需 os.chmod。或者通常有没有办法在 Python 中实现这一点?可能使用 os 模块中的低级文件处理工具? touch 和大多数编辑器默认使用 666 八进制权限模式。

我无法获取为 touch 命令创建的文件设置了执行位的文件,touch 默认使用 666。

注意:这只是一个人为的问题。

最佳答案

open接受返回文件描述符的 opener 参数; os.open接受一种模式,默认为 0o777

import os

with open("aaa", "w", opener=os.open) as f:

关于python - 有没有一种方法可以在没有 os.chmod 的情况下为 *nix 系统在 Python 中创建可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com