Python-標準庫-os

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'
    • 示例
import os
print(f"當前操作系統名稱: {os.name}") 

os模塊是 Python 進行操作系統層面交互的重要工具,能幫助開發者實現跨平臺的系統操作,提升程序的實用性和靈活性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913366.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913366.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913366.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OpenCV CUDA模塊設備層-----在 GPU 上執行類似于 std::copy 的操作函數warpCopy()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 OpenCV 的 CUDA 模塊(cudev) 中的一個設備端內聯模板函數,用于在 GPU 上執行類似于 std::copy 的操作&#xff…

Vue Router 中$route.path與 params 的關系

1. params 參數的本質:路徑的動態片段在 Vue Router 中,params 參數是通過路由配置的動態路徑片段定義的,例如:// 路由配置{ path: /user/:id, component: User }當訪問/user/123時,/user/123是完整的路徑,…

React 極簡響應式滑塊驗證組件實現,隨機滑塊位置

🎯 滑塊驗證組件 (Slider Captcha) 一個現代化、響應式的滑塊驗證組件,專為 React 應用設計,提供流暢的用戶體驗和強大的安全驗證功能。 ? 功能特性 🎮 核心功能 智能滑塊拖拽 – 支持鼠標和觸摸屏操作,響應靈敏隨…

STM32第十六天藍牙模塊

一:藍牙模塊HC-05 1:硬件引腳配置: | 標號 | PIN | 說明 | |------|-------|---------------------------------------| | 1 | START | 狀態引出引腳(未連接/連接輸出信號時) |…

時序數據庫IoTDB用戶自定義函數(UDF)使用指南

1. 編寫UDF時序數據庫IoTDB為用戶提供了編寫UDF的JAVA API,用戶可以自主實現UDTF(用戶自定義轉換函數)類,IoTDB將通過類加載機制裝載用戶編寫的類。Maven依賴如果使用Maven,可以從Maven庫中搜索以下依賴,并…

Linux國產與國外進度對壘

Linux國產與國外進度對壘 引言國產Linux的發展現狀國外Linux的發展現狀技術對比國產Linux的挑戰與機遇國外Linux的優勢與局限結論 引言 簡述Linux在全球操作系統市場中的地位國產Linux的發展背景與意義國外主流Linux發行版的現狀 國產Linux的發展現狀 主要國產Linux發行版介…

Jenkins-Email Extension 插件插件

Editable Email Notification Editable Email Notification 是 Jenkins 的 Email Extension 插件的核心功能,用于自定義郵件通知,包括郵件主題、內容、收件人、發件人等 屬性 1.Project From 項目發件人,設置郵件的發件人地址 **注意&…

windows系統下將Docker Desktop安裝到除了C盤的其它盤中

windows系統下安裝docker會自動安裝到C盤,可以采用下面的方法將其安裝到其它盤中1、先下載Docker Desktop安裝程序Docker Desktop Installer.exe,比如你下載到了C:\Users\YourUsername\Downloads 文件夾中。 2、打開 PowerShell 進入C:\Users\YourUser…

視頻工具箱 1.1.1 |小而美的視頻處理工具,支持多種常用功能

VideoTools是一款基于FFmpeg的小而美的視頻處理工具,專為需要快速高效地進行視頻編輯的用戶設計。這款工具無需安裝,體積僅約200KB,提供了視頻壓縮、格式轉換、轉GIF、修改分辨率、加速播放以及音頻提取等多種常用功能。其用戶界面簡潔直觀&a…

無人機集群搜索技術全面解析

無人機集群搜索是指通過多架無人機協同工作,實現對目標區域的高效覆蓋與快速探測。這項技術通過模擬自然界生物群體的集體行為,利用分布式控制和自主決策算法,使無人機集群能夠自組織地完成復雜搜索任務。下面從核心技術、應用場景、算法實現…

【Elasticsearch】深度分頁及其替代方案

深度分頁及其替代方案 1.深度分頁2.為什么不推薦深度分頁2.1 性能問題(核心原因)2.2 資源消耗對比2.3 實際限制 3.深度分頁的替代方案3.1 方案一:Search After(推薦)3.1.1 為什么 Search After 性能更高3.1.2 技術原理…

論文閱讀筆記——VGGT: Visual Geometry Grounded Transformer

VGGT 論文 輸入是 N 個 RGB 圖像 I i ∈ R 3 H W I_i\in\mathbb{R}^{3HW} Ii?∈R3HW 的序列 ( I i ) i 1 N (I_i)^N_{i1} (Ii?)i1N?,觀察相同 3D 場景。 VGGT 的 Transformer 是一個映射函數,將此序列映射為一組對應的 3D 標注, f ( …

【嵌入式電機控制#11】PID控制入門:對比例算法應用的深度理解

接下來內容需要數學功底,并且有現成結論的內容不做推導,重在講解工程實踐中的方法論,建議控制類專業或學習過相關理論的人閱讀 一、開閉環系統 (1)開環控制系統:被控對象輸出對控制器的輸出沒有影響 &…

多視圖幾何:本質矩陣與基礎矩陣

文章目錄 1. 前置知識1.1. 向量叉乘1.2. 混合積1.3. 引理證明 2. 本質矩陣3. 基礎矩陣4. 應用例子 1. 前置知識 1.1. 向量叉乘 假設 a ( a x a y a z ) \mathbf{a} \begin{pmatrix} a_x \\ a_y \\ a_z \end{pmatrix} a ?ax?ay?az?? ? 以及 b ( b x b y b z ) \mat…

Hive集群之間遷移的Linux Shell腳本

新舊 Hive 集群之前數據遷移單表腳本 migrate_hive_single_table.sh #!/bin/bash#配置參數 OLD_NAMENODE"hdfs://<old-namenode>:<old-port>" EXPORT_PATH"/tmp/hive-export/dm" NEW_DB"dm_events" TABLE_NAME"dm_usereventfi…

新時代的開始,華為開源倉頡編程語言!

7月30日&#xff0c;華為即將開源自研的倉頡編程語言。 倉頡這個名字很有意思。傳說中的倉頡創造了漢字&#xff0c;開啟了中華文明的文字時代。華為用這個名字&#xff0c;體現了對中華文化的致敬。從2020年開始研發&#xff0c;到去年首次亮相&#xff0c;再到現在的全面開源…

【python實用小腳本-128】基于 Python 的 Hacker News 爬蟲工具:自動化抓取新聞數據

引言 在技術社區中&#xff0c;Hacker News 是一個匯聚最新技術文章和討論的熱門平臺。許多開發者和技術愛好者依賴它來獲取行業動態和前沿資訊。然而&#xff0c;手動瀏覽和篩選這些文章可能耗時且低效。本文將介紹一個基于 Python 的 Hacker News 爬蟲工具&#xff0c;它能夠…

mac 電腦安裝Homebrew來安裝npm與node成功后,安裝nvm的流程

文章目錄 前言一、卸載node(如果沒下載可以忽略這步)1.官網下載安裝包的2. homebrew安裝的 二、安裝Homebrew(1) 命令安裝&#xff08;2&#xff09;出現上面提示&#xff0c;執行對應的命令&#xff08;3&#xff09;校驗是否安裝成功 三&#xff1a;安裝node&#xff08;Home…

根據無人機傾斜攝影osgb做的3dmax模型3dtiles制作,導出.b3dm加載到谷歌地圖cesiumlab

根據無人機傾斜攝影osgb做的3dmax模型3dtiles制作&#xff0c;導出.b3dm加載到谷歌地圖cesiumlab 根據無人機傾斜攝影osgb做的3dmax模型3dtiles制作&#xff0c;導出.b3dm加載到谷歌地圖cesiumlab

Yocto項目:嵌入式Linux開發的“萬能烹飪手冊”

目錄 一.Yocto是什么? 二.Yocto如何運作&#xff1f; 2.1 三大核心工具 2.2 實例 三.為什么開發者愛用Yocto&#xff1f; 3.1 ?自由定制&#xff0c;拒絕“全家桶”?? 3.2 跨平臺支持&#xff1a;從x86到火星芯片? 3.3 工業級可靠性? PetaLinux是Xilinx官方推出的…