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
相關用法
- Python os.dup()用法及代碼示例
- Python next()用法及代碼示例
- Python set()用法及代碼示例
- Python object()用法及代碼示例
- Python bytes()用法及代碼示例
- Python os.times()用法及代碼示例
- Python os.chmod用法及代碼示例
- Python hash()用法及代碼示例
- Python os.ftruncate()用法及代碼示例
- Python os.truncate()用法及代碼示例
- Python os.fsdecode()用法及代碼示例
- Python dict pop()用法及代碼示例
- Python os.abort()用法及代碼示例
- Python os.WEXITSTATUS()用法及代碼示例
注:本文由純淨天空篩選整理自ihritik大神的英文原創作品 Python | os.makedirs() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。