當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python os.makedirs()用法及代碼示例


Python中的OS模塊提供了與操作係統進行交互的函數。操作係統屬於Python的標準實用程序模塊。該模塊提供了使用依賴於操作係統的函數的便攜式方法。

如果文件名和路徑無效或無法訪問,或者其他類型正確但操作係統不接受的參數,則os模塊中的所有函數都會引發OSError。

os.makedirs()Python中的方法用於遞歸創建目錄。這意味著在創建葉子目錄時,如果缺少任何intermediate-level目錄,os.makedirs()方法將全部創建。
例如,考慮以下路徑:


/home/User/Documents/GeeksForGeeks/Authors/ihritik

假設我們要創建目錄“ ihritik”,但目錄“ GeeksForGeeks”和“作者”在路徑中不可用。然後os.makedirs()方法將在指定路徑中創建所有不可用/缺少的目錄。首先創建“ GeeksForGeeks”和“作者”,然後創建“ ihritik”目錄。

用法: os.makedirs(path, mode = 0o777, exist_ok = False) 

參數:
path:代表文件係統路徑的path-like對象。 path-like對象是表示路徑的字符串或字節對象。
mode (可選):表示新創建目錄模式的Integer值。如果省略此參數,則使用默認值Oo777。
exist_ok(可選):此參數使用默認值False。如果目標目錄已經存在,則如果其值為False,則會引發OSError,否則將引發OSError。

返回類型:此方法不返回任何值。

代碼1:使用os.makedirs()方法創建目錄
# Python program to explain os.makedirs() method  
    
# importing os module  
import os 
  
# Leaf directory 
directory = "ihritik"
  
# Parent Directories 
parent_dir = "/home/User/Documents/GeeksForGeeks/Authors"
  
# Path 
path = os.path.join(parent_dir, directory) 
  
# Create the directory 
# 'ihritik' 
os.makedirs(path) 
print("Directory '%s' created" %directory) 
  
# Directory 'GeeksForGeeks' and 'Authors' will 
# be created too  
# if it does not exists 
  
  
  
# Leaf directory 
directory = "c"
  
# Parent Directories 
parent_dir = "/home/User/Documents/GeeksforGeeks/a/b"
  
# mode 
mode = 0o666
  
path = os.path.join(parent_dir, directory) 
  
# Create the directory 
# 'c' 
   
os.makedirs(path, mode) 
print("Directory '%s' created" %directory) 
  
  
# 'GeeksForGeeks', 'a', and 'b' 
# will also be created if 
# it does not exists 
  
# If any of the intermediate level 
# directory is missing  
# os.makedirs() method will 
# create them 
  
# os.makedirs() method can be  
# used to create a directory tree  
輸出:
Directory 'ihritik' created
Directory 'c' created
代碼2:使用os.makedirs()方法時出現錯誤
# Python program to explain os.makedirs() method  
    
# importing os module  
import os 
  
# os.makedirs() method will raise 
# an OSError if the directory 
# to be created already exists 
  
     
# Directory 
directory = "ihritik"
  
# Parent Directory path 
parent_dir = "/home/User/Documents/GeeksForGeeks"
  
# Path 
path = os.path.join(parent_dir, directory) 
  
# Create the directory 
# 'ihritik' 
os.makedirs(path) 
print("Directory '%s' created" %directory)
輸出:
Traceback (most recent call last):
  File "makedirs.py", line 21, in 
    os.makedirs(path)
  File "/usr/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks/ihritik'
代碼3:使用os.makedirs()方法時處理錯誤
# Python program to explain os.makedirs() method  
    
# importing os module  
import os 
  
# os.makedirs() method will raise 
# an OSError if the directory 
# to be created already exists 
# But It can be suppressed by 
# setting the value of a parameter 
# exist_ok as True 
     
# Directory 
directory = "ihritik"
  
# Parent Directory path 
parent_dir = "/home/ihritik/Desktop/GeeksForGeeks"
  
# Path 
path = os.path.join(parent_dir, directory) 
  
# Create the directory 
# 'ihritik'  
try: 
    os.makedirs(path, exist_ok = True) 
    print("Directory '%s' created successfully" %directory) 
except OSError as error: 
    print("Directory '%s' can not be created") 
  
  
# By setting exist_ok as True 
# error caused due already 
# existing directory can be suppressed 
# but other OSError may be raised 
# due to other error like 
# invalid path name
輸出:
Directory 'ihritik' created successfully

參考: https://docs.python.org/3/library/os.html



相關用法


注:本文由純淨天空篩選整理自ihritik大神的英文原創作品 Python | os.makedirs() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。