首頁技術(shù)文章正文

Python內(nèi)置模塊怎么刪除和創(chuàng)建目錄?

更新時(shí)間:2021-05-14 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

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表示要?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('請輸入目錄:')
# 判斷目錄是否存在
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)行代碼,輸入一個(gè)不存在的目錄,結(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項(xiàng)目"
print(os.listdir(current_path))

運(yùn)行代碼,結(jié)果如下所示:

['learn_python.py', 'first_file.py']





猜你喜歡:

python基礎(chǔ)系列教程—Python3.x標(biāo)準(zhǔn)模塊庫目錄

Python的標(biāo)準(zhǔn)模塊:sys、os、random和time

Python使用哪種方法獲取和修改文件讀寫位置?    

黑馬程序員Python+大數(shù)據(jù)開發(fā)培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!