Python3 目錄操作(一)
常用的目錄操作
使用之前需要匯入os.path和os兩個包,基本目錄操作都包含在這兩個包裡
import os.path
import os
1.檢視當前目錄:os.getcwd()
2.os.chcwd(path)—進入想要的路徑,帶引號
3.os.listdir(path)檢視當前路徑的所有檔案及資料夾
4.os.mkdir(‘test’) 在當前目錄下建立一個test資料夾(單級目錄)
5. os.makedirs(‘test1/test2/test3’) 建立多級目錄test1/test2/test3
6.刪除單級目錄os.rmdir(‘test’) 目錄為空時才能刪除,不為空會報錯,需要使用
7.刪除多級目錄os.removedirs('test1/test2/test3') 刪除時需要把路徑寫全
8.刪除一個指定的檔案os.remove(‘test1/a.txt’) --只能刪除檔案,不能刪除目錄
9.os.rename(oldname,newname)重新命名目錄/檔案
10.返回上一級目錄:可以用..
>>> os.getcwd()
'/Users/didi/Documents'
>>> os.chdir('.')
>>> os.getcwd()
'/Users/didi/Documents'
>>> os.chdir('..')
>>> os.getcwd()
'/Users/didi'
11.遍歷目錄、資料夾及檔案 os.walk(top,topdown=True,onerro=None,followlinks=False)
top表示要遍歷的路徑,topdown為True表示先從目錄樹下的檔案開始遍歷,再遍歷子目錄,topdown=False表示先遍歷子目錄再遍歷根目錄;followlinks :預設情況下是不會遍歷目錄下的軟連結的,如果想要遍歷軟連結則followlinks設定為True.
>>> for root,dirs,files in os.walk('/Users/didi/Documents/test_new'):
... print(root,dirs,files)
結果:
/Users/didi/Documents/test_new ['1'] ['.DS_Store', 'bb.txt']
/Users/didi/Documents/test_new/1 ['2'] []
/Users/didi/Documents/test_new/1/2 ['3'] []
/Users/didi/Documents/test_new/1/2/3 [] []
12.分隔路徑和檔名os.path.split()
>>> os.path.split('/Users/didi/Documents/test_new/bb.txt')
('/Users/didi/Documents/test_new', 'bb.txt')
13.返回檔案路徑的目錄及檔名稱,是對os.path.split拆分
os.path.dirname()
os.path.basename()
>>> os.path.dirname('/Users/didi/Documents/test_new/bb.txt')
'/Users/didi/Documents/test_new'
>>> os.path.basename('/Users/didi/Documents/test_new/bb.txt')
'bb.txt'
14.判斷目錄是否存在
os.path.exists()
>>> os.path.exists('/Users/didi/Documents/test_new')
True
15.判斷路徑是否是絕對路徑
os.path.isabs('/Users/didi/Documents/test_new')
True
16.判斷path是否是檔案—os.path.isfile(path)
>>> os.path.isfile('/Users/didi/Documents/test_new/bb.txt')
True
但如果path寫的檔案不存在也不會報錯,會返回False
>>> os.path.isfile('/Users/didi/Documents/test_new/b.txt')
False