Python3---os及os.path模組基礎知識全總結+難點詳解
Python3 os模組:
格式: import os
基礎知識:1.os.name 檢視本機作業系統 nt--windows posix---linux/unix/mac
2.os.uname() 檢視作業系統詳細資訊,windows不支援這個功能,會報錯
3.os.environ 獲取作業系統中環境變數的資訊
4.os.environ.get('') 檢視指定的環境變數資訊 例:os.environ.get('PATH') 檢視PATH
5.os.getcwd()檢視你這個列印語句所在py檔案的絕對路徑
6.os.listdir() 獲取指定路徑下所有的檔案資訊,不能深層獲取(到改成即止)
注意:絕對路徑和相對路徑是有區別的。一般絕對路徑就是具體到檔案所在的碟符和資料夾
相對路徑就只會列印該檔案在那個資料夾下。
7.os.mkdir('')在你列印語句所在的檔案下下建立一個新的資料夾,括號內為要建立的資料夾的名字
也可在你指定的位置建立一個資料夾,具體做法如下:
import os #匯入os模組
path1=r'C:\Users\Administrator\Desktop\要建立的資料夾名字' #轉義字元r+'路徑'
os.mkdir(path1)
也可建立多層資料夾:
import os path1=r'C:\Users\Administrator\Desktop\建立的資料夾\建立的資料夾' os.makedir(path1) #在指定目錄下建立多層資料夾 注意多層用的是makedir 一層用的是mkdir
8.os.removedirs() 刪除指定路徑下的多層資料夾,用法和建立相同
9.os.rmdir('')刪除指定目錄下的資料夾 例:os.rmdir('D:\\222')
10.os.renames('路徑+old名','路徑+new名')重新命名資料夾 例:os.renames('D:\\111','D:\\222')
11.os.remove()刪除指定目錄下的檔案 是檔案而不是資料夾 例:os.remove('D:\\111.txt')
(或許有一部分os模組功能沒有列出,你可以自己嘗試點出功能然後挨個檢視底層,通過底層學習功能作用)
Python3 os.path模組:
格式:import os.path
基礎知識:1.os.path.abspath(',') 獲取當前列印語句py檔案的絕對路徑
2.拼接路徑
path1=r'a\b'
path2=r'c\d'
path3=os.path.join(path1,path2)
print(path3)
3.拆分路徑
path4=r'a\b\c\d.txt'
print(os.path.split(path4))括號內寫拆分路徑 就是把當前檔案路徑與前邊的路徑拆分開
4.拆除副檔名
print(os.path.splitext(path4))要是沒有副檔名 則報錯 有則拆除副檔名
5.檢測是不是資料夾(資料夾必須真實存在)
path5=r'真實資料夾路徑'
print(os.path.isdir(path5))
6.檢測是不是檔案(檔案必須真實存在)
path6=r'真實檔案路徑'
print(os.path.isfile(path6))
7.檢測是否有這個路徑
print(os.path.exists())
8.獲取檔案大小 (位元組)
print(os.path.getsize())
9.獲取檔案相對路徑
print(os.path.dirname())
10.獲取檔案絕對路徑
print(os.path.basename())
練習題:獲取指定資料夾下所有的檔案,需要深層獲取
思路:1.寫好路徑
2.獲取當前目錄下所有檔案
3.判斷所有檔案是資料夾還是檔案
4.如果是檔案就輸出,是資料夾繼續獲取
import os
import os.path
path=r'C:\Users\Administrator\Desktop\111'
def aaa(path):
str1 = os.listdir(path)
for i in str1:
str2 = os.path.join(path, i)
if os.path.isfile(str2) == True:
print(i)
else:
aaa(str2)
aaa(path)