需要解决的问题:
- 如何获得当前文件夹下的文件及名称
dir_path = 'E:\电影' for root, dirs, files in os.walk(dir_path): print(root) # 当前目录路径 print(dirs) # 当前路径下所有子目录 print(files) # 当前路径下所有非目录子文件
- 如何替换文件的名称
os.rename('要修改的文件名','修改后的文件名') #记得加文件后缀名
一.批量修改本地的在电影天堂下载的电影名称:
import os
dir_path = 'E:\电影'
def change_movie_name(dir_path):
os.chdir(dir_path)
if os.path.exists(dir_path) :
for root, dirs, files in os.walk(dir_path):
print(root) # 当前目录路径
print(dirs) # 当前路径下所有子目录
print(files) # 当前路径下所有非目录子文件
for i in files:
if i[0:19] == '[电影天堂www.dygod.com]':
print(i[20:])
os.rename(i,i[20:])
else :
print('该路径不存在')
change_movie_name(dir_path)
二.批量修改麦子学院下载的视频的名称:
import requests
from bs4 import BeautifulSoup
import os
url = 'http://www.maiziedu.com/course/306/'
dir_path = 'E:\迅雷下载\麦子学院-Mysql基础'
def mp4_title(url):
'''
获取该视频网站的视频标题
'''
html = requests.get(url)
Soup = BeautifulSoup(html.content,'html.parser')
all_li = Soup.find('ul',class_='lesson-lists').findAll('li')
titles = []
n = 0
for i in all_li:
n +=1
if n < 10:
titles.append(i.find('span',class_='fl').text[0:-4])
else:
titles.append(i.find('span', class_='fl').text[0:-5])
return titles
def change_files_name(dir_path,url):
'''
根据该url获得的视频标题,进行对应的修改
'''
os.chdir(dir_path) # 移动到该目录下
titles = mp4_title(url)
n = 0
for title in titles:
n += 1
os.rename('mysql_basic_'+str(n)+'.mp4',title+'.mp4')
change_files_name(dir_path,url)