更新時間:2021-05-14 來源:黑馬程序員 瀏覽量:
os模塊中定義了一些用于處理文件夾操作的函數(shù),例如創(chuàng)建目錄、獲取文件列表等函數(shù);除os模塊外,Python中的shutil模塊也提供了一些文件夾操作。下面將對os模塊和shutil模塊中的一些文件夾操作函數(shù)進(jìn)行介紹。
1.創(chuàng)建目錄
os模塊中的mkdir()函數(shù)用于創(chuàng)建目錄,其語法格式如下:
os.mkdir(path, mode)上述格式中,參數(shù)path表示要創(chuàng)建的目錄,參數(shù)mode表示目錄的數(shù)字權(quán)限,該參數(shù)在Windows系統(tǒng)下可忽略。
假設(shè)當(dāng)前需要設(shè)計一個功能用于判斷目錄是否存在,如果目錄不存在,執(zhí)行創(chuàng)建目錄操作,同時在該目錄下創(chuàng)建一個“dir_demo.txt”文件并寫入數(shù)據(jù);如果目錄存在,提示用戶“目錄已存在”。示例代碼如下:
import os dir_path = input('請輸入目錄:') # 判斷目錄是否存在 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ù)接收用戶輸入的目錄,通過exists()函數(shù)判斷目錄是否存在,如果目錄不存在,創(chuàng)建目錄和文件dir_demo.txt,并使用write()方法向該文件中寫入數(shù)據(jù);如果目錄存在,提示用戶“該目錄已存在”。
運(yùn)行代碼,輸入一個不存在的目錄,結(jié)果如下所示:
請輸入目錄:test_dir 寫入成功
再次運(yùn)行代碼,檢測“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
對輸出結(jié)果進(jìn)行分析:第一次執(zhí)行exists()函數(shù)返回的結(jié)果為True,表明文件夾存在;執(zhí)行rmtree()函數(shù)后,再次執(zhí)行exists()函數(shù)后返回結(jié)果為False,表明該文件夾刪除成功。
3.獲取目錄的文件列表
os模塊中的listdir()函數(shù)用于獲取文件夾下文件或文件夾名的列表,該列表以字母順序排序,其語法格式如下:
listdir(path)
上述格式中,參數(shù)path表示要獲取的目錄列表。
使用listdir()函數(shù)獲取指定目錄下文件列表,示例代碼如下:
import os current_path = r"D:\Python項目" print(os.listdir(current_path))
運(yùn)行代碼,結(jié)果如下所示:
['learn_python.py', 'first_file.py']
猜你喜歡:
python基礎(chǔ)系列教程—Python3.x標(biāo)準(zhǔn)模塊庫目錄