os.open() 方法



描述

方法`open()`打开文件`file`,并根据`flags`设置各种标志,并可能根据`mode`设置其模式。默认模式为0777(八进制),首先屏蔽当前的umask值。

语法

以下是open()方法的语法:

os.open(file, flags[, mode]);

参数

  • file − 要打开的文件名。

  • flags − 以下常量是flags的选项。它们可以使用按位或运算符|组合。某些选项并非在所有平台上都可用。

    • 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()方法的用法。

import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# Write one string
line="this is test"

# string needs to be converted byte object
b=str.encode(line)
os.write(fd, b)

# Close opened file
os.close( fd)
print ("Closed the file successfully!!")

这将创建给定的文件foo.txt,然后将给定的内容写入该文件,并将产生以下结果:

Closed the file successfully!!
python_os_file_directory_methods.htm
广告