如何在python(3)中创建其他用户也可以编写的文件。 到目前为止,我已经了解了这一点,但它改变了
os.chmod("/home/pi/test/relaxbank1.txt", 777)
with open("/home/pi/test/relaxbank1.txt", "w") as fh:
fh.write(p1)
我得到了什么
---sr-S--t 1 root root 12 Apr 20 13:21 relaxbank1.txt
预期(在命令行$sudo chmod 777 relaxbank1.txt中执行后) )
-rwxrwxrwx 1 root root 12 Apr 20 13:21 relaxbank1.txt
这是一种稳健的方法
看看如何:
+o
,默认情况下使用umask
,另请参见:How do you do a simple "chmod +x" from within python?另见:Write file with specific permissions in Python
如果您不想使用} 创建适当的文件描述符,然后使用
os.chmod
并希望使用适当的权限创建文件,则可以使用^{open
创建描述符:Python 2注意:
Python2.x中的内置open()不支持按文件描述符打开。改用^{} ;否则,您将得到:
问题是对
open()
的调用会重新创建调用。关闭文件后,需要将chmod()
移动到,或者将文件模式更改为w+
备选案文1:
备选案文2:
注释:Option1稍微好一点,因为它处理文件可能不存在的情况(在这种情况下,
os.chmod()
将抛出异常)相关问题 更多 >
编程相关推荐