更新時(shí)間:2021-05-14 來(lái)源:黑馬程序員 瀏覽量:
os模塊中定義了一些用于處理文件夾操作的函數(shù),例如創(chuàng)建目錄、獲取文件列表等函數(shù);除os模塊外,Python中的shutil模塊也提供了一些文件夾操作。下面將對(duì)os模塊和shutil模塊中的一些文件夾操作函數(shù)進(jìn)行介紹。
1.創(chuàng)建目錄
os模塊中的mkdir()函數(shù)用于創(chuàng)建目錄,其語(yǔ)法格式如下:
os.mkdir(path, mode)上述格式中,參數(shù)path表示要?jiǎng)?chuàng)建的目錄,參數(shù)mode表示目錄的數(shù)字權(quán)限,該參數(shù)在Windows系統(tǒng)下可忽略。
假設(shè)當(dāng)前需要設(shè)計(jì)一個(gè)功能用于判斷目錄是否存在,如果目錄不存在,執(zhí)行創(chuàng)建目錄操作,同時(shí)在該目錄下創(chuàng)建一個(gè)“dir_demo.txt”文件并寫入數(shù)據(jù);如果目錄存在,提示用戶“目錄已存在”。示例代碼如下:
import os dir_path = input('請(qǐng)輸入目錄:') # 判斷目錄是否存在 yes_or_no = os.path.exists(dir_path) if yes_or_no is False: os.mkdir(dir_path) new_file = open(os.getcwd() + '\\' + dir_path + "\\" + "dir_demo.txt", 'w', encoding='utf-8') new_file.write("itcast") print("寫入成功") new_file.close() else: print("該目錄已存在")
上述代碼使用input()函數(shù)接收用戶輸入的目錄,通過(guò)exists()函數(shù)判斷目錄是否存在,如果目錄不存在,創(chuàng)建目錄和文件dir_demo.txt,并使用write()方法向該文件中寫入數(shù)據(jù);如果目錄存在,提示用戶“該目錄已存在”。
運(yùn)行代碼,輸入一個(gè)不存在的目錄,結(jié)果如下所示:
請(qǐng)輸入目錄:test_dir 寫入成功
再次運(yùn)行代碼,檢測(cè)“test_dir”目錄是否存在,結(jié)果如下所示。
import os import shutil print(os.path.exists("test_dir")) # 第1次判斷目錄是否存在 shutil.rmtree("test_dir") # 執(zhí)行刪除操作 print(os.path.exists("test_dir")) # 第2次判斷目錄是否存在
上述代碼首先使用exists()函數(shù)判斷“test_dir”目錄是否存在,如果存在返回True,否則返回False,然后使用rmtree()函數(shù)執(zhí)行刪除操作,最后使用exists()函數(shù)再次進(jìn)行判斷。
運(yùn)行代碼,結(jié)果如下所示:
True False
對(duì)輸出結(jié)果進(jìn)行分析:第一次執(zhí)行exists()函數(shù)返回的結(jié)果為True,表明文件夾存在;執(zhí)行rmtree()函數(shù)后,再次執(zhí)行exists()函數(shù)后返回結(jié)果為False,表明該文件夾刪除成功。
3.獲取目錄的文件列表
os模塊中的listdir()函數(shù)用于獲取文件夾下文件或文件夾名的列表,該列表以字母順序排序,其語(yǔ)法格式如下:
listdir(path)
上述格式中,參數(shù)path表示要獲取的目錄列表。
使用listdir()函數(shù)獲取指定目錄下文件列表,示例代碼如下:
import os current_path = r"D:\Python項(xiàng)目" print(os.listdir(current_path))
運(yùn)行代碼,結(jié)果如下所示:
['learn_python.py', 'first_file.py']
猜你喜歡:
python基礎(chǔ)系列教程—Python3.x標(biāo)準(zhǔn)模塊庫(kù)目錄
怎樣搭建openstack開(kāi)發(fā)環(huán)境和增加節(jié)點(diǎn)?
2021-05-13如何使用Python將sitemap.xml轉(zhuǎn)為sitemap.txt?
2021-05-11Zookeeper是什么?有哪些顯著特點(diǎn)?
2021-05-11怎樣優(yōu)化數(shù)據(jù)庫(kù)查詢?
2021-05-11Python如何去除列表重復(fù)元素?
2021-05-11北京python培訓(xùn)哪個(gè)機(jī)構(gòu)好些?點(diǎn)擊領(lǐng)取福利Python基礎(chǔ)教程下載
2021-05-07