(一)os模塊
介紹
os
模塊提供了多數操作系統的功能接口函數。當os模塊被導入后,它會自適應于不同的操作系統平臺,根據不同的平臺進行相應的操作。
在python編程時,os
模塊可以處理文件和目錄這些我們日常手動需要做的操作,例如:顯示當前目錄下所有文件、刪除某個文件、獲取文件大小等等。
在Python中使用os
模塊里面的相關功能,具體步驟如下:
- 導入os模塊
import os
- 使用
os
模塊相關功能
os.函數名()
(二)查看os
模塊相關文檔
Python本地文檔中,[Python Module Index] — > [os] ,進入os
模塊文檔界面。
(三)os
模塊常用方法
1、文件重命名
os.rename(目標文件名, 新文件名)
文件和文件名都可以用該方法重命名。
提示:此方式可以對一個文件進行重命名,也可以用來移動一個文件。
# 相當于移動了BB文件到桌面 os.rename('bb.txt','c:/users/lilichao/desktop/bb.txt')
2、刪除文件
os.remove(目標文件名)
注:如果沒有找到指定刪除的文件,將會報錯。
3、創建文件夾
在當前目錄下創建一個目錄
os.mkdir(文件夾名字)
注:有同名的文件夾則會報錯。
4、刪除文件夾
os.rmdir(文件夾名字)
5、獲取當前目錄
os.getcwd()
6、改變默認目錄
改變目錄路徑,也就是切換目錄。
os.chdir(目錄)
7、獲取目錄列表
獲取某個文件夾下所有文件,返回一個列表。
os.listdir(目錄)
需要一個路徑作為參數,會獲取到該路徑下的目錄結構,默認路徑為.
,表示當前目錄。..
就是上一級目錄。
該方法會返回一個列表,目錄中的每一個文件(夾)的名字都是列表中的一個元素。
(四)應用案例
應用1
需求:添加指定字符串,對原文件進行重命名。如test.txt
文件,重命名為Python_test.txt
。
"""
需求1:把code文件夾所有文件重命名Python_xxxx(原文件名)
1. 找到所有文件:
2. 構造名字
3. 重命名
"""
import os
# 1. 找到所有文件:
# 獲取code文件夾的目錄列表,使用listdir()方法
file_list = os.listdir()
# 2. 遍歷文件中的所有名字,進行文件改名
for i in file_list:
# new_name = 'Python_' + 原文件名i
new_name = 'Python_' + i
# 3. 重命名
os.rename(i, new_name)
應用2
需求:批量修改文件名,既可添加指定字符串,又能刪除指定字符串。
- 步驟
- 設置添加或刪除字符串的的標識
- 獲取指定目錄的所有文件
- 將原有文件名添加/刪除指定字符串,構造新名字
- os.rename()重命名
- 代碼
import os
# 設置重命名標識:
# 如果flag取值為1則添加指定字符,
# flag取值為2則刪除指定字符
flag = 1
# 獲取指定目錄,就取當前目錄
dir_name = './'
# 獲取指定目錄的文件列表
file_list = os.listdir(dir_name)
# print(file_list)
# 遍歷文件列表內的文件
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)