os模組提供了與作業系統進行互動的功能。它允許你執行許多常見的檔案系統任務,如讀取目錄、處理檔案、獲取系統資訊等。以下是一些os模組中常見的函式及其用途:
目錄操作
- os.getcwd():返回當前工作目錄的字串表示。
- os.listdir(path):返回指定目錄下的檔案和子目錄列表。
- os.mkdir(path):建立一個新目錄。
- os.rmdir(path):刪除一個空目錄。
- os.path.exists(path):檢查路徑是否存在。
- os.path.isdir(path):檢查路徑是否是一個目錄。
- os.path.isfile(path):檢查路徑是否是一個檔案。
- os.path.join(path, *paths):將多個路徑元件智慧地連線起來。
檔案操作
雖然os模組主要用於目錄操作,但它也提供了一些基本的檔案操作功能,但更常見的檔案操作是使用內建的open()函式和檔案物件的方法。然而,os模組中的os.path子模組提供了許多與檔案路徑相關的實用函式。
os.path.getsize(path)
:返回指定檔案的大小(以位元組為單位)。os.path.abspath(path)
:返回指定檔案的絕對路徑。os.path.splitext(path)
:將路徑拆分為檔名和副檔名。os.path.basename(path)
:返回路徑中的檔名。os.path.dirname(path)
:返回路徑中的目錄名。
系統相關
os.name
:返回描述正在使用的平臺的字串。例如,在Windows上,它返回'nt'
;在Unix/Linux上,它返回'posix'
。os.system(command)
:在子shell中執行指定的命令,並等待命令完成。注意:使用這個函式時要特別小心,因為它可能允許執行惡意程式碼。os.environ
:一個表示環境變數的字典。你可以透過它讀取或設定環境變數。os.getpid()
:返回當前程序的ID。os.getppid()
:返回父程序的ID。os.walk(top)
:生成給定目錄及其所有子目錄中的檔案和目錄。這是一個非常有用的函式,用於遍歷目錄樹。
程序管理(高階功能)
雖然這超出了基礎範圍,但os模組還包含一些與程序管理相關的函式,如os.fork()(在Unix系統上建立新程序)、os.execv()(執行新程式)等。這些函式在更高階的應用程式中可能很有用,但通常不是初學者的主要關注點。
其他實用功能
os.sep
:表示路徑元件之間的分隔符(例如,在Unix上是'/'
,在Windows上是'\\'
)。os.linesep
:表示當前平臺使用的行終止符(例如,在Unix上是'\n'
,在Windows上是'\r\n'
)。os.pathsep
:用於在列表中分隔多個路徑的字元(例如,在Unix和Windows上都是:
,但在Windows上,當使用os.environ
時,它實際上是;
)。os.urandom(size)
:返回一個包含隨機位元組的字串,長度由size
指定。這可以用於生成加密金鑰等。