【無為則無心&Python基礎(chǔ)】— 74.文件和文件夾的相關(guān)操作

(一)os模塊介紹

os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù)。當(dāng)os模塊被導(dǎo)入后,它會自適應(yīng)于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進(jìn)行相應(yīng)的操作。

在python編程時(shí),os模塊可以處理文件和目錄這些我們?nèi)粘J謩有枰龅牟僮鳎纾猴@示當(dāng)前目錄下所有文件、刪除某個(gè)文件、獲取文件大小等等。

在Python中使用os模塊里面的相關(guān)功能,具體步驟如下:

  1. 導(dǎo)入os模塊
import os
  1. 使用os模塊相關(guān)功能
os.函數(shù)名()

(二)查看os模塊相關(guān)文檔

Python本地文檔中,[Python Module Index] — > [os] ,進(jìn)入os模塊文檔界面。

(三)os模塊常用方法

1、文件重命名

os.rename(目標(biāo)文件名, 新文件名)

文件和文件名都可以用該方法重命名。

提示:此方式可以對一個(gè)文件進(jìn)行重命名,也可以用來移動一個(gè)文件。

# 相當(dāng)于移動了BB文件到桌面
os.rename('bb.txt','c:/users/lilichao/desktop/bb.txt')

2、刪除文件

os.remove(目標(biāo)文件名)

注:如果沒有找到指定刪除的文件,將會報(bào)錯(cuò)。

3、創(chuàng)建文件夾

在當(dāng)前目錄下創(chuàng)建一個(gè)目錄

os.mkdir(文件夾名字)

注:有同名的文件夾則會報(bào)錯(cuò)。

4、刪除文件夾

os.rmdir(文件夾名字)

5、獲取當(dāng)前目錄

os.getcwd()

6、改變默認(rèn)目錄

改變目錄路徑,也就是切換目錄。

os.chdir(目錄)

7、獲取目錄列表

獲取某個(gè)文件夾下所有文件,返回一個(gè)列表。

os.listdir(目錄)

需要一個(gè)路徑作為參數(shù),會獲取到該路徑下的目錄結(jié)構(gòu),默認(rèn)路徑為. ,表示當(dāng)前目錄。..就是上一級目錄。

該方法會返回一個(gè)列表,目錄中的每一個(gè)文件(夾)的名字都是列表中的一個(gè)元素。

(四)應(yīng)用案例

應(yīng)用1

需求:添加指定字符串,對原文件進(jìn)行重命名。如test.txt文件,重命名為Python_test.txt。

"""
需求1:把code文件夾所有文件重命名Python_xxxx(原文件名)
1. 找到所有文件:
2. 構(gòu)造名字
3. 重命名
"""
import os

# 1. 找到所有文件:
# 獲取code文件夾的目錄列表,使用listdir()方法
file_list = os.listdir()

# 2. 遍歷文件中的所有名字,進(jìn)行文件改名
for i in file_list:
    # new_name = 'Python_' + 原文件名i
    new_name = 'Python_' + i

# 3. 重命名
os.rename(i, new_name)

應(yīng)用2

需求:批量修改文件名,既可添加指定字符串,又能刪除指定字符串。

  • 步驟
  1. 設(shè)置添加或刪除字符串的的標(biāo)識
  2. 獲取指定目錄的所有文件
  3. 將原有文件名添加/刪除指定字符串,構(gòu)造新名字
  4. os.rename()重命名
  • 代碼
import os

# 設(shè)置重命名標(biāo)識:
# 如果flag取值為1則添加指定字符,
# flag取值為2則刪除指定字符
flag = 1

# 獲取指定目錄,就取當(dāng)前目錄
dir_name = './'

# 獲取指定目錄的文件列表
file_list = os.listdir(dir_name)
# print(file_list)


# 遍歷文件列表內(nèi)的文件
for name in file_list:

    # 添加指定字符
    if flag == 1:
        new_name = 'Python-' + name
    # 刪除指定字符
    elif flag == 2:
        num = len('Python-')
        new_name = name[num:]

    # 打印新文件名,測試程序正確性
    print(new_name)
    
    # 重命名
    os.rename(dir_name+name, dir_name+new_name)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容