【Python】OS模塊操作目錄

1、概述


os模塊是一個Python內置的操作目錄和查看系統基礎信息的模塊,可用于讓我們對目錄進行批量操作,其中包括:

查看系統信息(環境變量、分隔符、換行符等),對目錄進行創建、刪除、重命名、查看目錄內容等,還可以獲取和切換當前路徑以及改變根路徑等功能。

同時os模塊具有良好的跨平臺性,其中的語句可以在Windows、Linux中運行。

不管是對于小白還是職場老手來說都是一個很有幫助的模塊,下面就讓我們來試用下吧。

2、入門操作


#首先先導入os模塊

import os

3、語句使用


(1)查看系統信息

  • os.name:查看當前是什么操作系統(Windows、Linux)
  • os.environ:查看當前系統的環境變量信息
  • os.sep:輸出系統文件分隔符(Windows為\,Linux為 /)
  • os.linesep:輸出當前系統的文件換行符
# 1、os.name系統相關內容
print(os.name)  #nt是Windows,posix是華為的osLinux系統#打印環境變量信息
#['指定環境變量名']
print(os.environ['PATH'])#輸出系統文件分隔符(linux與Windows不一樣)
print(os.sep) #Windows是\,linux是/#輸出系統文件內容換行符
print(os.linesep) # \nWindows換行符

(2)目錄及路徑操作

  • os.mkdir():創建單個目錄
  • os.makedirs():創建多級目錄
  • os.rename():重命名指定目錄
  • os.rmdir():刪除指定目錄
  • os.listdir():查看指定目錄下的內容
  • os.path.exists():查看某個目錄是否存在
  • os.getcwd():獲取當前所在路徑
  • os.chdir():改變當前所在路徑
  • os.chroot():改變系統根路徑
#1、創建單個目錄#(a)目錄存在情況:創建完畢后若目錄存在則會報錯提示目錄已存在,無法創建#(b)目錄不存在情況:mkdir方法只能去創建一個目錄,他的上級目錄若不存在則會報錯,提示目錄不存在os.mkdir("目錄路徑")?#2、創建多級目錄#可以創建多級目錄,上級目錄不存在則會創建os.makedirs("目錄路徑/目錄1/目錄2/目錄3...")#3、重命名目錄os.rename("要修改的目錄路徑","修改后的目錄名")#4、刪除目錄#此方法只能刪除內容為空的目錄,若是目錄中有內容則會報錯os.rmdir("要刪除的目錄路徑")#5、查看某目錄下的內容#內容會以list列表形式存儲,將目錄下的每個文件或目錄都存儲為列表的一個元素os.listdir("目錄路徑")#6、檢查目錄是否存在# 他的返回值為bool類型,True為目錄存在,Flase為目錄不存在os.path.exists("目錄路徑")#7、返回當前所在路徑#默認是當前文件所在目錄路徑,后期使用chdir切換目錄后此返回值會變化os.getcwd()#8、改變當前所在路徑os.chdir("新的路徑")#9、更改當前操作系統的根路徑(臨時更改)os.chroot("路徑")? #根路徑就是我們進入系統默認進入的路徑

(3)其他語句

#1、使用當前系統cmd或shell解釋器運行命令

os.system("dir")? #在Windows中運行dir命令查看當前目錄內容

os.system("ls /etc")? #在Linux中運行ls命令查看/etc下的內容

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

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

相關文章

JavaScript中 i++ 與 ++i

在 JavaScript 編程中,i(前置自增)和i(后置自增)是兩個常用但極易混淆的運算符。它們看似都能實現變量自增 1 的功能,但其執行時機和返回值的差異,常常導致開發者在實際編碼中出現邏輯錯誤。本文…

fastapi 中間件的使用

1. 中間件基礎結構from starlette.middleware.base import BaseHTTPMiddlewareclass RequestLoggerMiddleware(BaseHTTPMiddleware):async def dispatch(self, request: Request, call_next):# 1. 請求處理前邏輯# 2. 調用后續處理response await call_next(request)# 3. 響應…

網絡白菜包子手動安裝 Arch Linux

大家好!我是大聰明-PLUS!針對初學者的 Arch Linux 安裝詳細教程。我曾經花了不少時間才搞清楚安裝過程。本文旨在提供一種“捷徑”,讓每個人都能輕松上手,無論他們是否有 Linux 使用經驗。Arch 的主要特點是極其靈活的系統配置&am…

Linux學習筆記(五)--Linux基礎開發工具使用

在Linux中軟件包通常是指一個包含了軟件程序、元數據、依賴關系信息和安裝腳本的壓縮文件??。因為在Linux上如果沒有軟件包管理器,那么想要下載軟件會非常麻煩,不僅需要自己去手動編譯和安裝,而且難以卸載和管理,所以軟件包的出現解決了這些問題.軟件包一般是由程序文件(編譯…

數據結構(陳越,何欽銘) 第十講 排序(下)

10.1 快速排序 10.1.1 算法概述10.1.2 選主元10.1.3 子集劃分10.1.4 算法實現10.2 表排序 10.2.1 算法概述10.2.2 物理排序10.3 基數排序 10.3.1 桶排序10.3.2 基數排序10.3.3 多關鍵字的排序10.4 排序算法的比較

vue 使用print.js 打印文本,HTML元素,圖片,PDF

vue 使用print.js 打印文本,HTML元素,圖片,PDF 安裝 npm install print-js --save示例 <template><div class"print-example"><h2>Print.js 打印示例</h2><!-- 打印區域 --><div id"printableArea" class"printable…

jenkins審批機器人功能概述-Telegram版

Jenkins審批機器人 - 功能概述 代碼鏈接&#xff0c;私聊可得 項目簡介 Jenkins審批機器人是一個集成Jenkins CI/CD流程的自動化審批系統&#xff0c;通過Telegram機器人提供便捷的發布審批功能。該系統支持多環境部署審批、用戶權限管理、構建結果通知等完整的DevOps審批流程。…

Rust : 關于解引用“*”

關于解引用*操作符&#xff0c;謹供參考&#xff01; 一、主要代碼 use std::ops::Deref; fn main() {model_1();model_2();model_3();model_4();model_5();model_6();model_7();model_8();model_9(); }二、*操作符與常見的引用和解引用 fn model_1(){let reference:&St…

【高級終端Termux】在安卓手機/平板上使用Termux 搭建 Debian 環境并運行 PC 級 Linux 應用教程(含安裝WPS,VS Code)

Termux 搭建 Debian 環境并運行 PC 級 Linux 應用教程 一、前言 1. 背景 眾所周知&#xff0c;最新搭載澎湃OS和鴻蒙OS的平板都內置了PC級WPS&#xff0c;辦公效率直接拉滿&#xff08;板子終于從“泡面蓋”升級為“生產力”了&#xff09;。但問題來了&#xff1a;如果不是這…

從循環到矩陣運算:矢量化加速機器學習的秘訣

矢量化實現全解析&#xff1a;從原理到實戰 在學習數據科學、機器學習和深度學習的過程中&#xff0c;我們經常會聽到一個高頻詞——矢量化&#xff08;Vectorization&#xff09;。很多庫的官方文檔、教程里也不斷強調“要盡量使用矢量化操作&#xff0c;而不是顯式循環”。那…

大數據畢業設計-大數據-基于大數據的熱門游戲推薦與可視化系統(高分計算機畢業設計選題·定制開發·真正大數據)

&#x1f34a;作者&#xff1a;計算機編程-吉哥 &#x1f34a;簡介&#xff1a;專業從事JavaWeb程序開發&#xff0c;微信小程序開發&#xff0c;定制化項目、 源碼、代碼講解、文檔撰寫、ppt制作。做自己喜歡的事&#xff0c;生活就是快樂的。 &#x1f34a;心愿&#xff1a;點…

從零到一:用 Qt + libmodbus 做一個**靠譜**的 Modbus RTU 小工具(實戰總結)

文章目錄從零到一&#xff1a;用 Qt libmodbus 做一個**靠譜**的 Modbus RTU 小工具&#xff08;實戰總結&#xff09;你會得到什么快速背景&#xff1a;為什么是 Modbus RTU&#xff1f;協議速查&#xff08;夠用不啰嗦&#xff09;工程結構與 UI 組織連接“三板斧”&#xf…

使用Python創建本地Http服務實現與外部系統數據對接

在Python 3.10中創建一個能夠處理GET和POST請求的本地HTTP服務器&#xff0c;并提供一個默認的 index.html 頁面是完全可行的。Python的標準庫中的 http.server 模塊雖然簡單&#xff0c;但通過一些自定義擴展可以滿足這個需求。 下面我將提供一個實現方案&#xff0c;它包含一…

了解篇 | StarRocks 是個什么數據庫?

今天簡要介紹一下StarRocks 這個強大的數據庫。注意&#xff1a;本文章內容僅供個人學習&#xff0c;不包含任何推薦性質。StarRocks&#xff08;原名 Doris&#xff09;是一個高性能、全場景的MPP&#xff08;大規模并行處理&#xff09;分析型數據庫。它專為極速的多維聯機分…

SSL部署完成,https顯示連接不安全如何處理?

在部署 SSL 后&#xff0c;如果瀏覽器仍然顯示 “連接不安全” 或 “Not Secure”&#xff0c;通常是由以下幾種原因導致的。針對每種可能的原因和問題&#xff0c;以下提供了詳細的排查和解決方案。 1. 排查問題的可能原因 1.1 SSL 證書未正確安裝 如果 SSL 證書安裝不完整或…

LeetCode熱題100--105. 從前序與中序遍歷序列構造二叉樹--中等

1. 題目 給定兩個整數數組 preorder 和 inorder &#xff0c;其中 preorder 是二叉樹的先序遍歷&#xff0c; inorder 是同一棵樹的中序遍歷&#xff0c;請構造二叉樹并返回其根節點。 示例 1: 輸入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 輸出: [3,9,20,null,n…

【WitSystem】詳解JWT在系統登錄過程中前端做了什么事,后端又做了什么事?

要理解 JWT&#xff08;JSON Web Token&#xff09;登錄流程中前端與后端的職責分工&#xff0c;需先明確 JWT 的核心定位&#xff1a;它是一種無狀態的身份認證令牌&#xff0c;用于替代傳統 Session 認證&#xff0c;解決跨服務、跨域登錄的問題。其流程本質是“后端生成令牌…

MongoDB 在線安裝-一鍵安裝腳本(CentOS 7.9)

1. 腳本概述本腳本用于在 CentOS 7.9 系統上在線安裝 MongoDB&#xff0c;自動處理端口占用和重復安裝問題&#xff0c;并創建管理員用戶 test8&#xff0c;密碼 test123。2. 功能停止并關閉防火墻檢查 27017 端口占用并結束進程如果已安裝 MongoDB&#xff0c;卸載重裝配置 Mo…

樹形數據結構之樹狀基礎-算法賽

今天給分享的是一道算法決賽的題目&#xff0c;這道題目的綜合要求比較高&#xff0c;希望大家可以好好理解&#xff0c;同時這道題用到的是樹狀樹形結構的有關知識。可以用這幾天學的相關內容結合起來。問題描述給定兩個長度為 N的排列 A 和 B。若一對二元組下標 (i,j) 滿足以…

Jenkins 構建清理策略:自帶功能 vs Discard Old Build 插件,全場景實操指南

前言&#xff1a;在 Jenkins 持續集成過程中&#xff0c;構建記錄、工作空間、產物包會不斷積累&#xff0c;既占用磁盤空間&#xff0c;也會讓構建歷史變得臃腫。Jenkins 自帶的“丟棄舊的構建”功能和 Discard Old Build 插件&#xff0c;是兩種常見的構建清理方案。本文將詳…