os模塊的作用:os 模塊提供了非常豐富的方法用來處理檔案和目錄(管理和維護目錄以及檔案),
os.path模塊的作用:主要用于獲取檔案的屬性(管理路徑的(物理地址)),
小生總結了一些平時常用到的屬性和函式,
屬性:
1.name:回傳當前正在使用的作業系統的內核版本;windows系統環境下 -->輸出 nt
2.environ:回傳當前作業系統中所有的環境變數以及其內容,以鍵值對的形式進行存盤管理(存入到environ中)
3.environ.get('環境變數名'):獲取某一個環境變數的內容,以字串的形式回傳
1 print(os.name) 2 3 print(os.environ) 4 5 print(os.environ.get('path'))
路徑問題(概念):
絕對路徑:稱為完成路徑;一串物理地址(字串型別),特點:帶盤符,
相對路徑:相對的概念,拿某一個位置作為參照物,得到相關的路徑,理解為相對路徑;區分:不帶盤符 函式,
函式:
1.getcwd():回傳當前正在被執行的檔案的絕對路徑(描述一串字串格式的物理地址)
2.listdir(;path):將path路徑下的子目錄名和檔案名以字串型別保存到串列中回傳 【注意】不包含間接子內容
創建目錄:
3.mkdir(path):創建單層目錄,不能級聯創建目錄
4.makedirs(path):創建多級目錄,也可以創建單層目錄
[注意】如果路徑下已經存在相同名字的目錄,繼續點擊創建,會報錯:FileExistsError,對于mkdir()而言:只能一次創建一層目錄,不能批量(級聯)創建目錄;會報錯:FileNotFoundError
洗掉目錄:
5.rmdir(path):洗掉單層目錄,不能級聯洗掉目錄
6.removedirs(path):洗掉多層目錄,也可以洗掉單層
洗掉檔案:
7.remove(path):洗掉檔案
8.rename(src,dest):重命名目錄或者檔案
【注意】:洗掉操作有風險,使用需謹慎!!!因為不走回收站...
1 print(os.getcwd()) # 獲取當前目錄 2 3 print(os.listdir(r'C:\Users\admin')) # 列出當前目錄下的子目錄名和檔案名 4 5 os.mkdir(r'D:\python\project\hello1') # 創建目錄 6 7 os.mkdir(r'aa') # 創建目錄aa 8 9 os.mkdir(r'bb\cc\dd') # 顯示FileNotFoundError錯誤型別 ,不能級聯創建目錄 10 11 os.makedirs(r'bb\cc\dd') # 創建級聯目錄 12 13 os.rmdir(r'D:\python\project\hello1') # 洗掉hello1目錄 14 15 os.rmdir(r'aa') # 洗掉aa目錄 16 17 os.rmdir(r'bb\cc\dd\ee') # 洗掉ee目錄 18 19 os.removedirs(r'bb\cc\dd') # 級聯刪bb\cc\dd 20 21 os.removedirs(r'D:\python\project\hello') # 可刪單層hello 22 23 os.remove(r'abc.html') # 洗掉檔案 24 25 os.rename(r'aa.html',r'bb.html') # 相對路徑下,把檔案名為aa.html改為bb.html 26 27 os.rename(r'D:\python\project\note.txt',r'D:\python\project\筆記.txt') # 絕對路徑下,把檔案名note改為筆記
os模塊下的path模塊的使用:
1.join(first,second):將first和second兩部分內容(字串資料)拼接得到一個新的串(描述物理地址),(不關注路徑是否真實存在)
2.getsize(path):回傳path路徑(鎖定到檔案層面)所包含的位元組量
3.exists(path):判斷path描述的物理路徑是否真實存在;如果存在,回傳True;反之,回傳False
4.isfile(path):判斷path描述的物理路徑是否是一個檔案;如果存在,回傳True;反之,回傳False, (包含了exists的作用)
5.isdir(path):判斷path描述的物理路徑是否是一個目錄;如果存在,回傳True;反之,回傳False, (包含了exists的作用)
6.dirname(path):回傳path中最后一個\前面的部分(串),最終以字串的形式回傳
7.basename(path):回傳path中最后一個\后面的部分(串),最終以字串的形式回傳
8.split(path):將path變數中最后一個\前面的部分(串),放入到元祖的第一個元素位;將path變數中最后一個\后面的部分(串),放入到元祖的第二個元素位;最侄訓傳元祖物件
9.splitext(path): 將path變數中最后一個.前面的部分(串),放入到元祖的第一個元素位;將path變數中最后一個.以及其后面的部分(串),放入到元祖的第二個元素位;最侄訓傳元祖物件
10.realpath(path): 回傳path的真實路徑
11.abspath(path): 回傳絕對路徑
【注意】os.path.abspath()獲取的不是真實路徑,它的的作用是對給定檔案名前加上當前作業目錄的絕對路徑,至于你給定的檔案名對應檔案是否真的存在并不關心(因為你有可能是想要創建檔案)
1 import os
2 3 print(os.path.join(r'D:\python\project','1.txt')) # 將目錄和檔案名合成一個路徑 D:\python\project\1.txt 4 5 print(os.path.getsize(r'D:\python\project\123.png')) # 54 6 print(os.path.getsize(r'D:\python\project')) # 24576 7 8 path = r'D:\python\project\note.txt' 9 10 print(os.path.exists(path)) 11 print(os.path.isfile(path)) 12 print(os.path.isdir(path)) 13 14 str1 = os.path.dirname(path) 15 print(str1,type(str1)) # 回傳目錄路徑 D:\python\project <class 'str'> 16 17 str2 = os.path.basename(path) 18 print(str2,type(str2)) # 回傳檔案名 note.txt <class 'str'> 19 20 tp1 = os.path.split(path) 21 print(tp1,type(tp1)) # 分割檔案名與路徑 ('D:\\python\\project','note.txt') <class 'tuple'> 22 23 tp2 = os.path.splitext(path) 24 print(tp2,type(tp2)) # ('D:\\python\\project\\note','.txt') <class 'tuple'>
1 import os 2 3 os.path.realpath("b/1.txt") # '/root/a/1.txt' 4 5 # 假設1.jpg的路徑是D:\images\1.jpg, 其中D:\code是我當前的作業目錄 6 file='1.jpg' 7 print(os.path.abspath(file)) # 輸出 D:\code\img1.jpg
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/189234.html
標籤:Python
上一篇:python選課系統作業
