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 方法,把它們變成了可迭代物...