這兩天閑着無聊,看到福建疫情,然后想着停課的孩子們在家可能也會很無聊,可能就在家天天手機。所以想着爬些小孩子感興趣的故事來玩兒。爬了一千多吧。部分截圖如下:

這是從網站爬下來的初始格式,沒有去更改,對於有強迫症的我來說,文件名加后綴格式就可以了,文件名里有字符串 mp3是咋回事嘛。所以想着批量處理下。以下是處理代碼:
import os
import sys
dPath = 'X:\故事\世界著名童話' # 存儲要修改文件名的文件夾
files = os.listdir(dPath) # 先遍歷
n = 0 # 設置初始值
for i in files: # 遍歷文件
oldfilename = dPath +'\\' + files[n] # 獲取舊的文件路徑和名稱
# print(oldfilename) # 打印看是否符合預期
if ' mp3' in oldfilename: # 我們加個判定條件吧
newfilename = dPath + '\\' + i.replace(' mp3', '') # 要改成的路徑和文件名
print(newfilename) # 打印看是否符合預期
os.rename(oldfilename, newfilename) # 開始重命名
print("已經將文件====>" + i + "更名為:" + newfilename) # 提示結果
else:
print('文件===> 【' + i + '】 無需整理!') # 如果條件里沒有,我們就不整理了
n += 1
代碼運行完才發現是處理了另一個子文件夾,沒有處理到故事根文件夾下的所有子文件夾。效果如下:

還得去寫個處理二級文件夾下的批量改名還有處理批量解壓的代碼。
============================補充,將一個名為兒童故事的子目錄所有文件進行重命名======================================
最初始的文件夾結構是下面這樣的

然后子目錄下的文件是下面這樣的:

# 補充之前的代碼,只做了一個子文件夾,這不剛跑步回來,想了個簡單的方法。貼代碼。
import os
import sys
def reName(dPath):
# 讀取該文件夾下的所有文件(包括文件夾)
files = os.listdir(dPath)
n = 0 # 初始化計值
# 開始遍歷文件
for i in files:
# 原來文件的路徑和名稱
oldfilename = dPath + '\\' + files[n]
print(oldfilename)
# 如果是文件夾就遞歸調用函數
if os.path.isdir(oldfilename):
reName(oldfilename)
# 如果不是文件夾,我們就這樣處理
if ' mp3' in oldfilename:
newfilename = dPath + '\\' + i.replace(' mp3', '') # 我們將原來的文件名去掉mp3
print(newfilename) # 打印看是否符合預期
# 符合預期就就地重命名文件
os.rename(oldfilename, newfilename)
print('已經將文件名為====>【 ' + i + ' 】更改為:===>' + newfilename)
else:
print('文件名為========>【' + i + '】無需整理!' )
n += 1
filePath = 'X:\故事'
reName(filePath) #調用函數進行處理
一運行呢,就把指定的filePath下的所有文件都重命名了。這里只是多做了個判定,判定如果是文件夾,就遞歸調用函數進行處理文件夾下的文件。
