Python學海無涯路 第25回 os模組

2021-09-25 01:27:06 字數 4735 閱讀 2225

os模組是與作業系統互動的乙個介面。當os模組被匯入後,它會自適應於不同的作業系統平台,根據不同的平台進行相應的操作。

輸出字串指示當前使用平台,windows 返回 『nt』; linux 返回』posix』

例:

import os

print

(os.name)

全稱是』get current work directory』,獲取當前工作的目錄。

例:

import os

print

(os.getcwd(

))

列出指定目錄下的所有檔案和子目錄,包括隱藏檔案,並以列表方式列印。引數可以省略。

例:

import os

print

(os.listdir(

"e:"

))

改變當前指令碼工作目錄。

例:

import os

os.chdir(

"c:"

)#切換到c盤根目錄

print

(os.getcwd())

os.chdir(

"d:"

)#切換到d盤根目錄

print

(os.getcwd(

))

輸出:

c:d:\

返回當前目錄: (』.』)

感覺沒有什麼用。

例:

import os

print

(os.curdir)

輸出:.

獲取當前目錄的父目錄字串名:(』…』)

感覺沒有什麼用。

參照curdir

生成單級錄。

例:

import os

os.mkdir(

"abc"

)#生成目錄abc

可生成多層遞迴目錄。

例:

import os

os.makedirs(

"a/b"

)#建立目錄a,並在a目錄下建立目錄b

刪除單級空目錄,若目錄不為空則無法刪除。

例:

import os

os.rmdir(

"a/b"

)

若目錄為空,則刪除,並遞迴到上一級目錄,如若也為空,則刪除,依此類推。

刪除乙個檔案。

例:

import os

os.remove(

"a/a.py"

)

重命令檔案或目錄。

例:

import os

os.rename(

"a/a.py"

,"b.py"

)

獲取檔案/目錄資訊。

例:

import os

print

(os.stat(

"b.py"

))

輸出:

os.stat_result(st_mode=33206, st_ino=3096224744037941, st_dev=3432167447, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1562422708, st_mtime=1562422708, st_ctime=1562422708)

以下是stat結構的成員列表: 物件

描述st_mode

保護位st_ino

inode編號

st_dev

檔案大小

st_mtime

裝置st_nlink

硬鏈結數

st_uid

所有者的使用者id

st_gid

所有者的組id

st_size

檔案大小(以位元組為單位)

st_atime

最近訪問的時間(時間戳)

st_mtime

最近修改內容的時間(時間戳)

st_ctime

最近元資料更改的時間(時間戳)

返回當前作業系統的路徑分隔符。

win下為"",linux下為"/"。

例:

import os

print

(os.sep)

返回當前平台使用的行終止符

win下返回"\r\n"

linux下返回"\n"

例:

import os

print

(os.linesep)

返回當前平台路徑的分隔符

win下返「;」

linux下返":"

例:

import os

print

(os.pathsep)

執行shell命令,直接顯示

例:

import os

os.system(

"ipconfig"

)

獲取系統環境變數

例:

import os

print

(os.environ)

返回規範化的絕對路徑

例:

import os

print

(os.path.abspath(

"b.py"

))

分割目錄與檔名,如果給的路徑是目錄,它也會將最後乙個目錄作為檔名而分離,同時它不會判斷檔案或目錄是否存在

例:

import os

print

(os.path.split(

"c:/a.py"

))

輸出:

(『c:/』, 『a.py』)

返回目錄名。其實就是os.path.split(path)的第乙個元素

例:

import os

print

(os.path.split(

"c:/a.py"))

print

(os.path.dirname(

"c:/a.py"

))

輸出:

(『c:/』, 『a . py』)

c:/返回檔名。其實就是os.path.split(path)的第二個元素

例:

import os

print

(os.path.split(

"c:/a.py"))

print

(os.path.basename(

"c:/a.py"

))

輸出:

(『c:/』, 『a . py』)

a . py

分離檔名與副檔名

例:

import os

print

(os.path.splitext(

"c:/a.py"

))

輸出:

(『c:/a』, 『.py』)

路徑存在返true,不存在返回fales

例:

import os

print

(os.path.exists(

"c:/a.py"

))

是絕對路徑返回true,不是返回false

import os

print

(os.path.isabs(

"c:/a.py"

))

檔案存在返回true,不存在返回false。

import os

print

(os.path.isfile(

"a/a.py"

))

目錄存在返回true,不存在返回false

例:

import os

print

(os.path.isdir(

"c:\\"))

print

(os.path.isdir(

"c:/"

))

輸出:

true

true

將多個路徑組合後返回,第乙個絕對路徑之前的引數將被忽略。

例:

import os

print

(os.path.join(

"c:\\"

,"a"

,"b"

))

輸出:

c:\a\b

返回指向的檔案或者目錄的最後訪問時間

import os

print

(os.path.getatime(

"b.py"

))

返回指向的檔案或者目錄的最後修改時間

import os

print

(os.path.getmtime(

"b.py"

))

獲得檔案大小,如果傳的引數是目錄或檔案為空返回0

import os

print

(os.path.getsize(

"b.py"

))

Python學海無涯路 第08回 函式

3 返回值 def test x y 2 x return y呼叫函式時可使用的正式引數型別 引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣,不然會出現語法錯誤。使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。如果引數中還有其他引數...

Python學海無涯路 第12回 map函式

將列表中的每個元素加1,可以使用以下方法 usr bin env python coding utf 8 array num 1 2,3 4 定義乙個函式,數字加1 deffunc add x return x 1def map test func,array ret 定義乙個空列表 for i i...

Python學海無涯路 第17回 迭代器

可迭代物件 實現了迭代器協議的物件 迭代器有兩個基本的方法 iter 和 next for迴圈的本質 將物件用 iter 轉換成可迭代物件,呼叫其next 方法。字串 列表 元組 字典 集合 檔案物件,這些都不是可迭代物件,只不過在for迴圈時,呼叫了他們內部的 iter 方法,把它們變成了可迭代物...