python中的os.mkdir和os.makedirs的使用區別及如何查看某個模塊中的某些字母開頭的屬性方法

這篇文章主要介紹了python中的os.mkdir和os.makedirs的使用區別及如何查看某個模塊中的某些字母開頭的屬性方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

python中的os.mkdir和os.makedirs的使用區別以及如何查看某個模塊中的某些字母開頭的屬性方法

1 os.mkdir的使用

  • os.mkdir(dir_name):用于新建文件夾,當要新建的文件夾已經存在的時候,就會報錯:FileExistsError: [Errno 17] File exists:

因此,我們一般在新建一個文件夾的時候,會和os.path.exists()集合使用,如下:文章源自四五設計網-http://www.wasochina.com/39718.html

1、判斷一個文件夾是否存在,如果不存在就新建它,如果已經存在就跳過:文章源自四五設計網-http://www.wasochina.com/39718.html

1
2
3
dir_name = "./images"
if not os.path.exists(dir_name):
????os.mkdir(dir_name)

文章源自四五設計網-http://www.wasochina.com/39718.html

2 os.makedirs的使用

os.makedirs(dir_name2, exist_ok=True):功能和os.mkdir一樣也是用于新建文件夾,但是使用起來更方便,功能也更多一點文章源自四五設計網-http://www.wasochina.com/39718.html

  • os.makedirs:可以遞歸的創建多個文件夾
  • os.makedirs:的exist_ok參數設置為True時,可以自動判斷當文件夾已經存在就不創建

如下,是遞歸的新建目錄:images/imgs2文章源自四五設計網-http://www.wasochina.com/39718.html

1
2
dir_name2 = "./images2/imgs2"
os.makedirs(dir_name2, exist_ok=True)

3 查看某個模塊中的某些字母開頭的屬性方法

  • 利用dir(module_name)先查看模塊的所有方法和屬性
  • 結合列表生成式和if語句判斷某個字母開頭的方法和屬性

例如,下面是查看opencv模塊中的所有顏色空間轉換的屬性文章源自四五設計網-http://www.wasochina.com/39718.html

1
2
3
4
import cv2
cvtCOLORS = [color for color in dir(cv2) if color.startswith("COLOR_")]
print(cvtCOLORS)

打印出opencv中的所有顏色空間相關的屬性。文章源自四五設計網-http://www.wasochina.com/39718.html

補充:Python中os.mkdir()與os.makedirs()的區別及用法

os.makedir(path)和os.makedirs(path) 今天工作中將hadoop文件同步到服務器磁盤,由于文件類別目錄較多,遷移文件時需要判斷是否存在 這里有兩個方法os.mkdir(path)和os.makedirs(path)文章源自四五設計網-http://www.wasochina.com/39718.html

首先說os.mkdir(path),他的功能是一級一級的創建目錄,前提是前面的目錄已存在,如果不存在會報異常,比較麻煩,但是存在即有他的道理,當你的目錄是根據文件名動態創建的時候,你會發現他雖然繁瑣但是很有保障,不會因為你的一時手抖,創建而創建了雙層或者多層錯誤路徑,文章源自四五設計網-http://www.wasochina.com/39718.html

1
2
3
4
5
6
7
import os
?
os.mkdir('d:\hello')??? #? 正常
os.mkdir('d:\hello\hi') #? 正常
?
#? 如果d:\hello目錄不存在
#? 則os.mkdir('d:\hello\hi')執行失敗

然后是os.makedirs(path),單從寫法上就能猜出他的區別,他可以一次創建多級目錄,哪怕中間目錄不存在也能正常的(替你)創建,想想都可怕,萬一你中間目錄寫錯一個單詞.........文章源自四五設計網-http://www.wasochina.com/39718.html

1
2
3
4
5
6
7
import os
?
os.makedirs('d:\hello')??? #? 正常
os.makedirs('d:\hello\hi') #? 正常
?
#? 如果d:\hello目錄不存在
#? 則os.makedirs('d:\hello\hi')? #? 仍然正常

各有優缺點,根據自己需要選擇使用

到此這篇關于python中的os.mkdir和os.makedirs的使用區別及如何查看某個模塊中的某些字母開頭的屬性方法的文章就介紹到這了

繼續閱讀
我的微信
微信掃一掃
weinxin
我的微信
惠生活福利社
微信掃一掃
weinxin
我的公眾號
 
  • 本文由 四五設計網小助手 發表于 2024年2月5日08:57:20
  • 轉載請務必保留本文鏈接:http://www.wasochina.com/39718.html

發表評論

匿名網友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖動滑塊以完成驗證