Python3 os.open()方法

2019-10-16 23:08:59
open()方法根據標記(flags),並根據設定各種標誌在指定模式下開啟檔案。預設模式為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()方法的使用。
#!/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!!