1 需求
2 接口
3 示例
4 參考資料
在 Python 中,os
(Operating System)模塊是一個非常重要的內置標準庫,提供了許多與操作系統進行交互的函數和方法,允許開發者在 Python 程序中執行常見的操作系統任務,像文件和目錄操作、進程管理、環境變量訪問等 。以下是os
模塊的詳細介紹:
1. 文件操作相關
os.open()
- 功能:以指定模式打開文件,返回文件描述符(一個小整數)。相比內置的
open()
函數,os.open()
更接近系統底層操作。 - 示例:
- 功能:以指定模式打開文件,返回文件描述符(一個小整數)。相比內置的
import os
fd = os.open('test.txt', os.O_RDWR | os.O_CREAT)
os.write(fd, b'This is a test.')
os.close(fd)
os.remove()
?或?os.unlink()
- 功能:刪除指定路徑的文件。如果文件不存在,會拋出
FileNotFoundError
異常。 - 示例:
- 功能:刪除指定路徑的文件。如果文件不存在,會拋出
import os
try:os.remove('test.txt')
except FileNotFoundError:print("文件不存在")
os.rename()
- 功能:重命名文件或目錄。如果目標路徑已存在,會拋出
FileExistsError
異常。 - 示例:
- 功能:重命名文件或目錄。如果目標路徑已存在,會拋出
import os
os.rename('old_name.txt', 'new_name.txt')
2. 目錄操作相關
os.mkdir()
- 功能:創建一個新目錄。如果目錄已經存在,會拋出
FileExistsError
異常。 - 示例:
- 功能:創建一個新目錄。如果目錄已經存在,會拋出
import os
try:os.mkdir('new_directory')
except FileExistsError:print("目錄已存在")
os.rmdir()
- 功能:刪除指定的空目錄。如果目錄不為空或者不存在,會拋出相應的異常。
- 示例:
import os
try:os.rmdir('new_directory')
except FileNotFoundError:print("目錄不存在")
except OSError:print("目錄非空,無法刪除")
os.listdir()
- 功能:返回指定目錄下的所有文件和目錄名,以列表形式呈現。
- 示例:
import os
files = os.listdir('.') # '.' 表示當前目錄
for file in files:print(file)
os.chdir()
- 功能:改變當前工作目錄到指定路徑。
- 示例:
import os
os.chdir('/new/directory/path')
os.walk()
- 功能:遞歸遍歷目錄樹,返回一個三元組?
(dirpath, dirnames, filenames)
,分別表示當前目錄路徑、當前目錄下的子目錄名列表、當前目錄下的文件名列表。 - 示例:
- 功能:遞歸遍歷目錄樹,返回一個三元組?
import os
for dirpath, dirnames, filenames in os.walk('.'):print(f"當前目錄: {dirpath}")print(f"子目錄: {dirnames}")print(f"文件: {filenames}")
3. 進程管理相關
os.system()
- 功能:在子 shell 中執行指定的命令,并返回命令的退出狀態碼。該方法簡單易用,但無法獲取命令的輸出內容。
- 示例:
import os
return_code = os.system('ls -l')
print(f"命令執行的返回碼: {return_code}")
os.popen()
- 功能:在子 shell 中執行命令,返回一個文件對象,可以通過該對象讀取命令的輸出內容。
- 示例:
import os
result = os.popen('ls -l').read()
print(result)
os.fork()
?(僅限 Unix/Linux 系統)- 功能:創建一個子進程,父進程和子進程從?
os.fork()
?調用點開始分別執行不同的代碼分支。父進程返回子進程的進程 ID,子進程返回 0。 - 示例:
- 功能:創建一個子進程,父進程和子進程從?
import os
pid = os.fork()
if pid == 0:print("我是子進程")
else:print(f"我是父進程,子進程ID是 {pid}")
4. 環境變量相關
os.environ
- 功能:一個包含系統環境變量的字典,可以通過鍵值對的方式訪問和修改環境變量。
- 示例:
import os
print(os.environ.get('PATH')) # 獲取PATH環境變量
os.environ['NEW_VARIABLE'] = 'value' # 設置新的環境變量
5. 其他常用功能
os.getpid()
- 功能:返回當前進程的 ID。
- 示例:
import os
print(f"當前進程ID: {os.getpid()}")
os.name
- 功能:返回當前使用的操作系統名稱。在 Unix/Linux 系統上返回?
'posix'
,在 Windows 系統上返回?'nt'
。 - 示例:
- 功能:返回當前使用的操作系統名稱。在 Unix/Linux 系統上返回?
import os
print(f"當前操作系統名稱: {os.name}")
os
模塊是 Python 進行操作系統層面交互的重要工具,能幫助開發者實現跨平臺的系統操作,提升程序的實用性和靈活性。