Python 3 - os.open() 方法

  • 描述

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

    以下是语法open()方法 -
    
    os.open(file, flags[, mode]);
    
  • 参数

    file− 要打开的文件名。
    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() 方法的用法。
    
    #!/usr/bin/python3
    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!!