Python 3 – os.open() 方法
描述
方法 open() 打开文件file,根据flags设置各种标志,可能根据mode设置其模式。默认模式为0777(八进制),并首先屏蔽当前umask值。
语法
以下是 open() 方法的语法−
os.open(file,flags[, mode]);
参数
file − 要打开的文件名。
flags − 标志的选项如下。它们可以使用按位OR运算符|组合。它们中的一些在所有平台上都不可用。
- os.O_RDONLY − 仅用于读取打开
-
os.O_WRONLY − 仅用于写入打开
-
os.O_RDWR − 读写打开
-
os.O_NONBLOCK − 不在打开时阻塞
-
os.O_APPEND − 每次写入附加
-
os.O_CREAT − 如果文件不存在则创建文件
-
os.O_TRUNC − 将大小截断为0
-
os.O_EXCL − 如果创建并且文件存在,则发生错误
-
os.O_SHLOCK − 原子性地获得共享锁
-
os.O_EXLOCK − 原子性地获得一个独占锁
-
os.O_DIRECT − 消除或减少缓存效应
-
os.O_FSYNC − 同步写入
-
os.O_NOFOLLOW − 不遵循符号链接
mode − 它的工作方式类似于chmod()方法。
返回值
此方法返回新打开文件的文件描述符。
示例
以下示例演示了 open() 方法的用法。
#!/usr/bin/python3
import os, sys
# 打开一个文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# 写一个字符串
line = "this is test"
# 字符串需要被转换为字节对象
b = str.encode(line)
os.write(fd, b)
# 关闭打开的文件
os.close( fd)
print ("Closed the file successfully!!")
结果
这将创建给定的文件 foo.txt ,然后会在该文件中写下给定内容,并产生以下结果−
Closed the file successfully!!