python筆記 os模組

2022-09-13 22:03:33 字數 3851 閱讀 8646

python程式設計時,經常和檔案、目錄打交道,這是就離不了os模組。os模組包含普遍的作業系統功能,與具體的平台無關。

一、常用的os命令

os.name——判斷現在正在使用的平台,windows返回」nt「,linux返回」posix「

os.listdir()——當前檔案所屬上級目錄下所有的檔案和目錄名(以列表的形式全部列舉出來,其中沒有區分目錄和檔案)

os.remove()——刪除指定檔案

os.rmdir()——刪除指定目錄

os.mkdir()——建立目錄(注意:這樣只能建立一層,要想遞迴建立可用:os.makedirs())

os.path.getsize()——獲得檔案的大小

os.path.isdir()——判斷指定物件是否為目錄

os.path.isfile()——判斷指定物件是否為檔案

os.path.split()——返回路徑的目錄和檔名

備註:此處只是把前後兩部分分開而已。就是找最後乙個'/'。看如下示例:

1 >>>import

os2 >>>print(os.path.split("

a/b/c/d"))

3 >>>print(os.path.split("

a/b/c/d/"))

4 輸出結果:

5 ('

a/b/c

', 'd'

)6 ('

a/b/c/d

', '')

10.os.path.abspath()——獲得絕對路徑

11.os.path.realpath()——獲得絕對路徑

12.os.getcwd()——獲取當前工作的目錄

13.os.path.join(path,name)——連線目錄和檔名

14.os.path.dirname(path)——返回檔案路徑

15.os.path.basename(path)——返回檔名

1

os.path.split(path) 將path分割成目錄和檔名

2 os.path.dirname(path) 返回path的目錄,等同於os.path.split(path)[0]

3 os.path.basename(path) 返回path的檔名,等同於os.path.split(path)[1]

備註:python的__file__屬性表示檔案當前的位置,例如os.path.dirname(__file__)就代表當前訪問檔案的路徑

專案目錄如下截圖:

執行結果:

、python中獲取路徑os.getcwd()和os.path.dirname(os.path.realpath(__file__))的區別和對比

專案目錄如下截圖所示:

先看第乙個檔案getpath.py,**如下:

import

osclass

test_get_path:

defgetcurrentpath1(self):

cur_path = os.path.dirname(os.path.realpath(__file__

))

return

cur_path

defgetcurrentpath2(self):

cur_path =os.getcwd()

return

cur_path

if__name__ == "

__main__":

tt =test_get_path()

f1 =tt.getcurrentpath1()

f2 =tt.getcurrentpath2()

print("

fun1:

",f1)

print("

fun2:

",f2)

執行得到的結果如下:

並未看出本質區別,獲取的都是當前指令碼所在的haey目錄

再看看第二個檔案test.py,**如下:

from haey.getpath import

test_get_path

path1 =test_get_path().getcurrentpath1()

path2 =test_get_path().getcurrentpath2()

print("

path1:

",path1)

print("

path2:

",path2)

執行得到的結果如下:

這個時候結果就不同了,請看如下分析:

os.path.dirname(os.path.realpath(__file__))獲取的是__file__所在指令碼的路徑,也就是getpath.py的路徑

而os.getcwd()獲取的是當前最外層呼叫的指令碼路徑,即test.py所在的目錄,也可以描述為起始的執行目錄,a呼叫b,起始的是a,那麼獲取的就是a所在的目錄路徑

總結:兩個函式都是返回當前指令碼所在的目錄。區別是如果存在函式呼叫,如a呼叫b,那麼getcwd返回的是a所在目錄,而os.path.dirname(os.path.realname(__file__))是獲取你剛才所引用的模組所在的絕對路徑,__file__為內建函式。

注意:在介面自動化測試框架中,我們的**除了能在本地執行,也能在不在修改**的前提下在其他的環境下能夠執行,這樣才能達到高復用性和低維護成本,我們在介面測試的模組呼叫中,會定義很多相關路徑,而這些路徑必須使用相對路徑且能夠動態獲取才能夠滿足框架的基本要求

python小筆記 os模組

os 包含了普遍作業系統的功能 獲取作業系統型別的功能 eg import os print os.name 返回nt windows作業系統 若返回posix,則是linux unix mac os操作 獲取作業系統詳細的資訊 windows不支援,會報錯 eg import os print o...

python學習筆記 os模組

上篇 模組匯入方式 import os os模組是python標準庫中的乙個用於訪問作業系統相關功能的模組,os模組提供了一種可移植的使用作業系統功能的方法。使用os模組中提供的介面,可以實現跨平台訪問。但是,並不是所有的os模組中的介面在全平台都通用,有些介面的實現是一來特定平台的,比如linux...

python模組 OS模組

bin env python coding utf 8 import os print os.name 輸出主機平台 print os.getcwd 輸出當前目錄 print os.listdir os.getcwd 輸出當前目錄的檔案 橫向 for i in os.listdir os.getcw...