目錄
os模块调用操作系统接口的模块                          
  相关方法或属性:
首頁 後端開發 Python教學 python os模組使用詳解

python os模組使用詳解

Aug 19, 2017 pm 02:48 PM
模組 詳解

os模块调用操作系统接口的模块                          

  相关方法或属性:

    getcwd() --- 获取当前的操作目录,等同于linux中的pwd命令。

      调用:os.getcwd()

    chdir() --- 改变python脚本的工作目录。

      调用:os.chdir(path) (path以字符串形式传入)

      例如:


>>> os.getcwd()'C:\\Users\\BLUE'>>> os.chdir('D:\\Program Files')>>> os.getcwd()'D:\\Program Files'>>> os.chdir(r'C:\Users\BLUE')>>> os.getcwd()'C:\\Users\\BLUE'
登入後複製


    curdir --- 当前目录   使用:os.curdir

    pardir --- 当前目录的父目录   使用: os.pardir

      例如:


>>> os.curdir'.'>>> os.pardir'..'>>> os.getcwd()'C:\\Users\\BLUE'>>> os.chdir(os.pardir)>>> os.getcwd()'C:\\Users'
登入後複製


    makedirs() --- 递归的创建目录。

      调用:os.makedirs('dir_1/dir_2/dir_3/.../dir_n')

      例如:os.makedirs(r'C:\a\b\c\d')  #该操作会依次在C盘下创建a, b, c, d四个文件夹(若a目录存在则只创建b,c,d三个目录)。

    removedirs() --- 若当前目录为空则删除,并切换到父级目录,若为空继续删除,依次递归。

      调用:os.removedirs('dir_1/dir_2/dir_3/.../dir_n')

      例如:os.removedirs(r'C:\a\b\c\d')  #该操作会依次在C盘下依次删除d, c, b, a四个文件夹,如果中间某一级目录不为空,则在该级停止删除。

    mkdir() --- 创建单级目录。

      调用:os.mkdir('dir_1/dir_2/dir_3/.../dir_n')

      例如:os.mkdir(r'C:\a\b\c\d')  #该操作会在C盘下创建d文件夹(若a, b, c目录有一个不存在,则无法创建并报错)。

    rmdir() --- 删除单级空目录。

      调用:os.rmdir('dir_1/dir_2/dir_3/.../dir_n')

      例如:os.rmdir(r'C:\a\b\c\d')  #若d目录为空,该操作只删除d目录, 否则无法删除并报错。

    listdir() --- 以列表的形式列出制定目录下的所有文件(包括隐藏文件),子目录。

      调用:os.listdir(path)

      例如:(列出D盘下的所有文件)


>>> os.listdir(r'D:')
['Anaconda3', 'BaiduNetdisk', 'BHO', 'Data', 'guiminer', 'Intel', 'JetBrains', 'Profiles', 'Program', 'Tencent', 'Thunder', 'Thunder BHO Platform', 'UninstallXLWFP.exe', 'WinRAR', '腾讯游戏']
登入後複製


    remove() --- 删除一个文件。

      调用:os.remove(path)

    rename() --- 对一个文件重命名。

      调用:os.rename(old_filename, new_filename)  #注意不能覆盖已存在文件

    stat() --- 获取文件或目录的属性信息。

      调用:os.stat(path)

      例如:


>>> os.stat(r'C:\Windows\regedit.exe')
os.stat_result(st_mode=33279, st_ino=281474976742063, st_dev=1893840342, st_nlink=2, st_uid=0, st_gid=0, st_size=321024, st_atime=1489870628, st_mtime=1489870628, st_ctime=1489870628)>>> os.stat(r'C:\Windows')
os.stat_result(st_mode=16895, st_ino=281474976712108, st_dev=1893840342, st_nlink=1, st_uid=0, st_gid=0, st_size=32768, st_atime=1502900732, st_mtime=1502900732, st_ctime=1489837220)
登入後複製


    sep --- 使用os.sep获取当前平台的路径的分隔符(目录与子目录之间)(例如windows下是r‘\’,Linux下时‘/’)。

    linesep --- 使用os.linesep获取当前平台的换行符(例如windows下是‘\r\n’,Linux下时‘\n’)。

    pathsep --- 使用os.pathsep获取当前平台文件路径的分隔符(文件之间)(例如windows下是‘;’,Linux下时‘:’)。

    name --- 使用os.name获取当前平台名称。

      例如:


>>> os.sep'\\'>>> os.linesep'\r\n'>>> os.pathsep';'>>> os.name'nt'
登入後複製


    system() --- 执行系统命令。

      调用:os.system(command)

      例如:


>>> os.system('ping www.baidu.com')

正在 Ping www.A.sHiFeN.com [220.181.112.244] 具有 32 字节的数据:
来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55来自 220.181.112.244 的回复: 字节=32 时间=38ms TTL=55来自 220.181.112.244 的回复: 字节=32 时间=37ms TTL=55

220.181.112.244 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 37ms,最长 = 38ms,平均 = 37ms
登入後複製


    environ --- 使用os.environ获取系统环境变量。

      例如:


>>> os.environ
environ({'COMPUTERNAME': 'DESKTOP-KTUG9G5', 'APPDATA': 'C:\\Users\\BLUE\\AppData\\Roaming', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-KTUG9G5', 'HOMEPATH': '\\Users\\BLUE', 'NUMBER_OF_PROCESSORS': '8', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'ONEDRIVE': 'C:\\Users\\BLUE\\OneDrive', 'LOGONSERVER': '\\\\DESKTOP-KTUG9G5', 'OS': 'Windows_NT', 'TEMP': 'C:\\Users\\BLUE\\AppData\\Local\\Temp', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'PROGRAMDATA': 'C:\\ProgramData', 'PROMPT': '$P$G', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel', 'LOCALAPPDATA': 'C:\\Users\\BLUE\\AppData\\Local', 'USERNAME': 'BLUE', 'PROCESSOR_REVISION': '3c03', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMW6432': 'C:\\Program Files', 'WINDIR': 'C:\\Windows', 'PUBLIC': 'C:\\Users\\Public', 'ASL.LOG': 'Destination=file', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PROCESSOR_LEVEL': '6', 'SYSTEMROOT': 'C:\\Windows', 'SESSIONNAME': 'Console', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'HOMEDRIVE': 'C:', 'TMP': 'C:\\Users\\BLUE\\AppData\\Local\\Temp', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'PATH': 'D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;D:\\Program Files\\Anaconda3;D:\\Program Files\\Anaconda3\\Scripts;D:\\Program Files\\Anaconda3\\Library\\bin;C:\\Users\\BLUE\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\BLUE\\AppData\\Local\\GitHubDesktop\\bin', 'USERDOMAIN': 'DESKTOP-KTUG9G5', 'USERPROFILE': 'C:\\Users\\BLUE'})
登入後複製


    path.abspath() --- 获取文件的绝对路径

      调用:os.path.abspath(filename)

      例如:


>>> os.chdir(r'C:\windows')>>> os.path.abspath('regedit.exe')'C:\\windows\\regedit.exe'
登入後複製


    path.split() --- 传入一个文件路径,返回一个tuple(由两部分构成(path, filename))。

      调用:os.path.split(path)

      例如:

    path.dirname() --- 获取路径中的目录。

      调用:os.path.dirname(path)

    path.basename() --- 获取路径中的文件名。

      调用:os.path.basename(path)


>>> os.path.dirname(r'C:\Windows\System32\drivers\etc\hosts')'C:\\Windows\\System32\\drivers\\etc'>>> os.path.basename(r'C:\Windows\System32\drivers\etc\hosts')'hosts'>>> os.path.split(r'C:\Windows\System32\drivers\etc\hosts')
('C:\\Windows\\System32\\drivers\\etc', 'hosts')
登入後複製


    path.exists() --- 判断路径是否存在。

      调用:os.path.exists(path)

    path.isabs() --- 判断路径是否是绝对路径。

      调用:os.path.isabs(path)

    path.isfile() --- 判断是否是文件。

      调用:os.path.isfile(path)

    path.isdir() --- 判断是否是目录。

      调用:os.path.isdir(path)

      例如:


>>> os.path.exists(r'C:\Windows\System32\drivers\etc\hosts')
True>>> os.path.exists(r'C:\Windows\System32\drivers\etc\abcd')
False>>> os.path.isabs(r'C:\Windows\System32\drivers\etc\hosts')
True>>> os.path.isabs(r'../')
False>>> os.path.isfile('C:\Windows\System32\drivers\etc\hosts')
True>>> os.path.isfile('C:\Windows\System32\drivers\etc')
False>>> os.path.isdir('C:\Windows\System32\drivers\etc')
True>>> os.path.isdir('C:\Windows\System32\drivers\etc\hosts')
False
登入後複製


    path.join() --- 将一个或多个路径正确地连接起来。

      调用:os.path.join(path, *paths)

    path.getatime() --- 获取文件最后的访问时间(以时间戳的形式返回)。

      调用:os.path.getatime(path)

    path.getmtime() --- 获取文件最后的修改时间(以时间戳的形式返回)。

      调用:os.path.getmtime(path)

      例如:


>>> os.path.join('C:', r'\windows\System32', r'\System32\drivers')'C:\\System32\\drivers'>>> os.path.join('C:', r'\windows\System32')'C:\\windows\\System32'>>> os.path.getatime('C:\Windows\System32\drivers\etc\hosts')1501070798.585747
>>> os.path.getmtime('C:\Windows\System32\drivers\etc\hosts')1502505489.0068946
登入後複製


 

以上是python os模組使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

WLAN擴充模組已停止[修復] WLAN擴充模組已停止[修復] Feb 19, 2024 pm 02:18 PM

如果您的Windows電腦上的WLAN擴充模組出現問題,可能會導致您與網際網路中斷連線。這種情況常常讓人感到困擾,但幸運的是,本文提供了一些簡單的建議,可以幫助您解決這個問題,讓您的無線連線重新正常運作。修復WLAN擴充模組已停止如果您的Windows電腦上的WLAN可擴充性模組已停止運作,請依照下列建議進行修復:執行網路和Internet故障排除程式停用並重新啟用無線網路連線重新啟動WLAN自動設定服務修改電源選項修改高級電源設定重新安裝網路適配器驅動程式運行一些網路命令現在,讓我們來詳細看

WLAN可擴充性模組無法啟動 WLAN可擴充性模組無法啟動 Feb 19, 2024 pm 05:09 PM

本文詳細介紹了解決事件ID10000的方法,該事件表明無線區域網路擴充模組無法啟動。在Windows11/10PC的事件日誌中可能會顯示此錯誤。 WLAN可擴充性模組是Windows的一個元件,允許獨立硬體供應商(IHV)和獨立軟體供應商(ISV)為使用者提供客製化的無線網路特性和功能。它透過增加Windows預設功能來擴充本機Windows網路元件的功能。在作業系統載入網路元件時,WLAN可擴充性模組會作為初始化的一部分啟動。如果無線區域網路擴充模組遇到問題無法啟動,您可能會在事件檢視器的日誌中看到錯誤消

C++中的眾數函數詳解 C++中的眾數函數詳解 Nov 18, 2023 pm 03:08 PM

C++中的眾數函數詳解在統計學中,眾數指的是一組資料中出現次數最多的數值。在C++語言中,我們可以透過寫一個眾數函數來找出任意一組資料中的眾數。眾數函數的實作可以採用多種不同的方法,以下將詳細介紹其中兩種常用的方法。第一種方法是使用哈希表來統計每個數字出現的次數。首先,我們需要定義一個哈希表,將每個數字作為鍵,出現次數作為值。然後,對於給定的資料集,我們遍

Win11管理員權限取得詳解 Win11管理員權限取得詳解 Mar 08, 2024 pm 03:06 PM

Windows作業系統是全球最受歡迎的作業系統之一,其新版本Win11備受矚目。在Win11系統中,管理員權限的取得是一個重要的操作,管理員權限可以讓使用者對系統進行更多的操作和設定。本文將詳細介紹在Win11系統中如何取得管理員權限,以及如何有效地管理權限。在Win11系統中,管理員權限分為本機管理員和網域管理員兩種。本機管理員是指具有對本機電腦的完全管理權限

Oracle SQL中的除法運算詳解 Oracle SQL中的除法運算詳解 Mar 10, 2024 am 09:51 AM

OracleSQL中的除法運算詳解在OracleSQL中,除法運算是一種常見且重要的數學運算運算,用來計算兩個數相除的結果。除法在資料庫查詢中經常用到,因此了解OracleSQL中的除法運算及其用法是資料庫開發人員必備的技能之一。本文將詳細討論OracleSQL中除法運算的相關知識,並提供具體的程式碼範例供讀者參考。一、OracleSQL中的除法運算

C++中的取餘函式詳解 C++中的取餘函式詳解 Nov 18, 2023 pm 02:41 PM

C++中的取餘函數詳解在C++中,取餘運算子(%)用於計算兩個數相除的餘數。它是一種二元運算符,其運算元可以是任何整數型別(包括char、short、int、long等),也可以是浮點數型別(如float、double)。取餘運算子傳回的結果與被除數的符號相同。例如,對於整數的取餘運算,我們可以使用以下程式碼來實作:inta=10;intb=3;

PHP模運算子的作用及用法詳解 PHP模運算子的作用及用法詳解 Mar 19, 2024 pm 04:33 PM

PHP中的模運算子(%)是用來取得兩個數值相除的餘數的。在本文中,我們將詳細討論模運算子的作用及用法,並提供具體的程式碼範例來幫助讀者更好地理解。 1.模運算子的作用在數學中,當我們將一個整數除以另一個整數時,就會得到一個商和一個餘數。例如,當我們將10除以3時,商數為3,餘數為1。模運算子就是用來取得這個餘數的。 2.模運算子的用法在PHP中,使用%符號來表示模

linux系統呼叫system()函數詳解 linux系統呼叫system()函數詳解 Feb 22, 2024 pm 08:21 PM

Linux系統呼叫system()函數詳解系統呼叫是Linux作業系統中非常重要的一部分,它提供了一種與系統核心互動的方式。其中,system()函數是常用的系統呼叫函數之一。本文將詳細介紹system()函數的使用方法,並提供對應的程式碼範例。系統呼叫的基本概念系統呼叫是使用者程式與作業系統核心互動的一種方式。使用者程式透過呼叫系統呼叫函數來請求作業系統

See all articles