python基礎:os模塊中關於文件/目錄常用的函數使用方法

来源:http://www.cnblogs.com/alan-babyblog/archive/2016/01/31/5172781.html
-Advertisement-
Play Games

Python是跨平臺的語言,也即是說同樣的源代碼在不同的操作系統不需要修改就可以同樣實現 因此Python的作者就倒騰了OS模塊這麼一個玩意兒出來,有了OS模塊,我們不需要關心什麼操作系統下使用什麼模塊,OS模塊會幫你選擇正確的模塊並調用 os模塊中關於文件/目錄常用的函數使用方法os.path模塊


Python是跨平臺的語言,也即是說同樣的源代碼在不同的操作系統不需要修改就可以同樣實現 因此Python的作者就倒騰了OS模塊這麼一個玩意兒出來,有了OS模塊,我們不需要關心什麼操作系統下使用什麼模塊,OS模塊會幫你選擇正確的模塊並調用

  os模塊中關於文件/目錄常用的函數使用方法os.path模塊中關於路徑常用的函數使用方法
函數名 使用方法
getcwd()
返回當前工作目錄
chdir(path)
改變工作目錄
listdir(path='.')
列舉指定目錄中的文件名('.'表示當前目錄,'..'表示上一級目錄)
mkdir(path)
創建單層目錄,如該目錄已存在拋出異常
makedirs(path)
遞歸創建多層目錄,如該目錄已存在拋出異常,註意:'E:\\a\\b'和'E:\\a\\c'並不會衝突
remove(path)
刪除文件
rmdir(path)
刪除單層目錄,如該目錄非空則拋出異常
removedirs(path)
遞歸刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空則拋出異常
rename(old, new)
將文件old重命名為new
system(command)
運行系統的shell命令
walk(top)
遍歷top路徑以下所有的子目錄,返回一個三元組:(路徑, [包含目錄], [包含文件])【具體實現方案請看:第30講課後作業^_^】
以下是支持路徑操作中常用到的一些定義,支持所有平臺
os.curdir
指代當前目錄('.')
os.pardir
指代上一級目錄('..')
os.sep
輸出操作系統特定的路徑分隔符(Win下為'\\',Linux下為'/')
os.linesep
當前平臺使用的行終止符(Win下為'\r\n',Linux下為'\n')
os.name
指代當前使用的操作系統(包括:'posix',  'nt', 'mac', 'os2', 'ce', 'java')
函數名 使用方法
basename(path)
去掉目錄路徑,單獨返迴文件名
dirname(path)
去掉文件名,單獨返回目錄路徑
join(path1[, path2[, ...]])
將path1, path2各部分組合成一個路徑名
split(path)
分割文件名與路徑,返回(f_path, f_name)元組。如果完全使用目錄,它也會將最後一個目錄作為文件名分離,且不會判斷文件或者目錄是否存在
splitext(path)
分離文件名與擴展名,返回(f_name, f_extension)元組
getsize(file)
返回指定文件的尺寸,單位是位元組
getatime(file)
返回指定文件最近的訪問時間(浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)
getctime(file)
返回指定文件的創建時間(浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)
getmtime(file)
返回指定文件最新的修改時間(浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)
以下為函數返回 True 或 False
exists(path)
判斷指定路徑(目錄或文件)是否存在
isabs(path)
判斷指定路徑是否為絕對路徑
isdir(path)
判斷指定路徑是否存在且是一個目錄
isfile(path)
判斷指定路徑是否存在且是一個文件
islink(path)
判斷指定路徑是否存在且是一個符號鏈接
ismount(path)
判斷指定路徑是否存在且是一個掛載點
samefile(path1, paht2)
判斷path1和path2兩個路徑是否指向同一個文件

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 進程是存在獨立的記憶體和資源的,但是AppDomain僅僅是邏輯上的一種抽象。一個process可以存在多個AppDomain。各個AppDomain之間的數據時相互獨立的。一個線程可以穿梭多個AppDomain。 一、屬性 ActivationContext 獲取當前應用程式域的激活上下文。Appl
  • AppDomain是CLR(Common Language Runtime:公共語言運行庫),它可以載入Assembly、創建對象以及執行程式。 AppDomain是CLR實現代碼隔離的基本機制。 每一個AppDomain可以單獨運行、停止;每個AppDomain都有自己預設的異常處理;一個AppD
  • 現在做程式都要將動態的頁面轉換成靜態頁面,今天教大家在ASP.NET 中實現靜態頁面的生成方法。 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secur
  • HTTP請求工具類(功能:1、獲取網頁html;2、下載網路圖片;): using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System
  • 今年做的一個上位機工控WPF項目,做個小小的總結把,以後隨時來找 請不要帶血亂噴,我只是菜鳥.___by 鮑隊 類似於這樣子的;大致的意思是:一個代碼變數,通過改變變數的值,綁定這個變數的這個圓顏色也在變化 就是一種心跳效果 在網上數據觸發的感覺不多,廢了不少時間,這裡做個總結 1:通知 class
  • 許可權系統的組成通常包括RBAC模型、許可權驗證、許可權管理以及界面訪問控制。現有的一些許可權系統分析通常存在以下問題: (1)沒有許可權的設計思路 認為所有系統都可以使用一套基於Table設計的許可權系統。事實上設計許可權系統的重點是判斷角色的穩定性和找出最小授權需求。角色的穩定性決定了系統是通過角色判斷許可權還
  • 公司準備開發一套工作流引擎,以前沒有什麼OA開發經驗,也是第一次設計工作流引擎,我把我的一些思路分享一下,希望得到些幫助或者能幫助到一些人。 產品的定位: 1、能夠做到前後端分離 2、可以做到項目的分離使用,通過介面來實現 3、支持複雜流程邏輯 例如: 填寫加班表單-》多人審核=》退回=》填寫證明人
  • 作業: 使用正則表達式和遞歸實現計算器功能。 實現: 1、實現帶括弧的計算 2、實現指數、加減乘除求餘等功能 一、實例說明: 本實例自己寫了個版本,但依舊存在一點bug,例:-2-2等計算問題,故最後在武SIR的代碼基礎上加了指數、求餘等功能。 該計算器思路: 1、遞歸尋找表達式中只含有 數字和運算
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...