python建立目錄語句是 python目錄操作

2021-10-11 09:31:44 字數 2917 閱讀 7589

目錄操作

在python中,沒有提供直接操作目錄的函式或者物件,需要使用內建的os和os.path模組實現

os模組是python內建的與作業系統功能和檔案系統功能相關的模組

該模組中的語句的執行結構通常與作業系統有關,在不同的作業系統上執行,所得到的的結果可能不同

常用的目錄操作主要有:

判斷目錄是否存在

建立目錄

刪除目錄

重新命名目錄

遍歷目錄等

使用os模組或者os.path模組時,需要先import

import os

os.getcwd():返回當前的工作目錄

os.listdir(path):返回列表,存放指定路徑下的檔案和目錄資訊

os.mkdirs(path1/path2...[,mode]):建立多級目錄,該函式用遞迴的方法建立目錄 ,類似mkdir -p

os.rmdir(path):刪除空目錄

os.removedirs(path1/path2...):遞迴刪除多級空目錄

os.chdir(path):把path設定為當前工作目錄

os.walk(top[,topdown][,onerror):遍歷目錄樹,該方法返回乙個元組,包括所有路徑名、所有目錄列表和檔案列表3個元素

os.path模組也提供了一些操作目錄的函式

os.path.abspath(path):用於獲取檔案或目錄的絕對路徑

os.path.exists(path):用於判斷檔案或目錄是否存在,如果存在則返回true,否則返回false

os.path.join(path,name):將目錄或者檔名拼接起來

os.path.splitext():分離檔名和副檔名

os.path.basename(path):從乙個目錄中提取檔名

os.path.dirname(path):從乙個路徑中提取檔案路徑,不包括檔名

os.path.isdir(path):用於判斷是否是有效路徑

示例1:建立目錄

建立目錄前,先判斷目錄是否存在,如果不存在,則建立

if not os.path.exit(path):

os.mkdirs(path)

else:

pass

示例2:刪除非空目錄

使用os.rmdir()或者os.removedirs()只能刪除空目錄,刪除非空目錄需要使用python內建的標準模組shutil的rmtree()函式實現

示例3:os.walk()遍歷目錄

python中,os的walk()函式用於實現遍歷目錄的功能

os.walk(top[,topdown][,onerror][,followlinks])

top:用於指定要遍歷內容的根目錄

topdown:可選引數,用於指定遍歷的順序,如果是true,表示自上而下遍歷;如果是false,代表自下而上遍歷,預設true

onerror:可選引數,用於指定錯誤處理方式,預設為忽略,如果不想忽略,可以指定乙個錯誤錯誤處理函式,通常採用預設

返回值:返回乙個包括3個元素(dirpath,dirnames,filenames)的元組的生成器物件dirpath:表示當前遍歷的路徑,是乙個字串

dirnames:表示當前目錄下包含的子目錄,是乙個列表

filenames:表示當前路徑下包含的檔案,也是乙個列表

>>> for a,b,c in os.walk("d:\\python\\python3.6.4\\hjc"):

for i in b:

print(os.path.join(a,i))#所有的目錄

for i in c:

print(os.path.join(a,i))#所有的檔案

示例4:拼接路徑

把兩個路徑拼接為乙個路徑時,不要使用字串拼接,而要使用os.path.join()函式,這樣可以正確處理不同作業系統的路徑分隔符

如果採用字串拼接路徑和檔名,path+'分隔符'+file,這裡的分隔符對於不同的系統不一樣

windows系統的路徑分隔符為"\",linux系統的路徑分隔符為"/"

os.path.join()會自動查詢當前系統的路徑分隔符

示例5:windows上的路徑

windows系統的路徑分隔符為"\",python中"\"代表轉義字元,直接使用windows路徑會報錯

解決辦法:對路徑分割符"\"進行轉義,即將"\"替換為"\\"

將"\"替換為"/"

不進行轉義,在path前加"r"或者"r",該字串將原樣輸出

>>> import os

>>> os.chdir('c:\users\hjc\desktop\python')

syntaxerror: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \u******xx escape

>>> os.chdir(b'c:\users\hjc\desktop\python')

>>> os.getcwd()

'c:\\users\\hjc\\desktop\\python'

在idle中不行,但是在指令碼的引數中可以,估計是自動做了轉換

**:importos,sys

file = sys.ar**[1]

print(file)

ifos.path.exists(file):

os.chdir(file)

print(os.getcwd())

else:

print('not exits')

執行:d:\projects\demo>python test.py c:\users\hjc\desktop\python

c:\users\hjc\desktop\python

c:\users\hjc\desktop\python

python建立目錄語句是

我們在使用程式開發的時候,乙個優秀的專案離不開目錄的管理,我們通常會在指定目下存放相同型別的檔案,我們在這一節來學習如何在程式中建立目錄。1.建立一級目錄 在os模組中存在建立目錄的函式os.mkdir 它的語法格式為 os.mkdir path path為我們要建立的目錄名字,可以使用絕對路徑,也...

Python 建立目錄

import os os.mrkdir d demo 建立目錄 mrkdir 無法傳建立多級目錄 def mrkdir path 建立遞迴函式 建立多級目錄 if not os.path.exists d demo test python 判斷路徑是否存在 os.mrkdir d demo test...

python建立目錄函式 python 建立目錄

python對檔案的操作還算是方便的,只需要包含os模組進來,使用相關函式即可實現目錄的建立。主要涉及到三個函式 1 os.path.exists path 判斷乙個目錄是否存在 2 os.makedirs path 多層建立目錄 3 os.mkdir path 建立目錄 demo 直接上 def ...