更新時間: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)模塊庫目錄
【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達(dá)到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)當(dāng)天offer率91%,薪資1W+占比54.2%,班級均薪12k+
2025-09-19