在Python 3.2(和其他版本)中,os.open的文档说明:
此功能适用于低级I/O. 对于正常使用,使用内置函数open(),它返回一个带有read()和write()方法的文件对象(以及更多).要将文件描述符包装在文件对象中,请使用fdopen().
而对于fdopen() :
返回连接到文件描述符fd的打开文件对象.这是open()的别名并接受相同的参数.唯一的区别是fdopen()的第一个参数必须始终是一个整数.
这个评论对之间的差异问题io.open和os.open(此不同的是完全清楚对我来说,我一直使用io.open,从来没有os.open)问:为什么会有人选择Python低级别的I/O?,但没有真正得到答案.
我的问题是非常相似的带注释的问题:在Python中,什么是I/O通过低级别的使用情况下os.open,os.fdopen,os.close,os.read,等?我曾经认为需要对一个过程进行deamonise,但我不再那么肯定了.是否有任何任务只能使用低级I/O执行,而不能使用更高级别的包装器执行?
我如何在python(3)中创建一个其他用户也可以写的文件.我到目前为止,但它改变了
os.chmod("/home/pi/test/relaxbank1.txt", 777)
with open("/home/pi/test/relaxbank1.txt", "w") as fh:
fh.write(p1)
Run Code Online (Sandbox Code Playgroud)
我得到了什么
--- 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
我是新来的蟒蛇,看文档,看到有打开文件访问的至少两种方式os.open和open.os.open和之间有什么区别open?
我应该什么时候使用os.open?
我应该什么时候使用open?