批量修改文件名
最近在看代码审计,发现github上有人爬了wooyun以前的案例:https://github.com/Xyntax/1000php
但是他的命名很烦躁,不知道每篇文章写的什么,于是就想着改下名字吧
- 环境:python 2.7 sublime
- 思路:获取网站的title,将title名修改为文件名
首先,我是将整个文件解压到了我的C盘下,定义了一个文章所在目录的dir字符串
1 | dir = "C:\\1000php-master\\bugs\\" |
定义两个列表,一个存放原始的名称,一个存放我们要修改的名称:1
2open_html = []
new_name = []
首先,我们通过os获取到所有修改前的名称:1
old_name = os.listdir(dir)
打开我们的每一个页面,并获取其title值:1
2
3
4
5
6
7
8
9
10
11
12for name in old_name:
open_html.append(dir + name)
这里获取每个文件的完整路径
for i in range(len(old_name)):
with open(open_html[i],"r") as f:
soup = BeautifulSoup(f.read(),"lxml")
title = soup.title
new_name.append(title.text.split("|")[0].strip().replace("/","").replace("\\","").replace("<","xiaoyu").replace(">","dayu").replace("=","dengyu").replace("(","".replace(")","")) + ".html")
打开每个文件获取title值,这里要对title做些处理,不然后面改名会有很多问题啊
修改文件名,用os,rename函数:1
2
3
4
5
6for i in range(len(new_name)):
try:
os.rename(dir +old_name[i], dir + new_name[i])
print("[{}]Success changed name ".format(i))
except:
print([-]old_name[i])
这里有可能会报错,后期自己慢慢处理
完整代码,不一定要放在一个文件夹下面1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35# -*- coding: UTF-8 -*-
import os
from bs4 import BeautifulSoup
dir = "C:\\1000php-master\\bugs\\"
open_html = []
new_name = []
#获取old_name
old_name = os.listdir(dir)
# print(old_name)
print("[+]Finish get old_name,starting get new name......")
#获取完整的地址
#通过获取title得到new_name
for i in range(len(old_name)):
with open(open_html[i],"r") as f:
soup = BeautifulSoup(f.read(),"lxml")
title = soup.title
new_name.append(title.text.split("|")[0].strip().replace("/","").replace("\\","").replace("<","xiaoyu").replace(">","dayu").replace("=","dengyu").replace("(","".replace(")","")) + ".html")
# print(dir + new_name[0])
print("starting chage name")
# print(new_name)
for i in range(len(new_name)):
try:
os.rename(dir +old_name[i], dir + new_name[i])
print("[{}]Success changed name ".format(i))
except:
print(old_name[i])
print("Finish change name")
附上一张成功的截图:
这样看着是不是好多了:)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 sher10cksec@foxmail.com
文章标题:批量修改文件名
本文作者:sher10ck
发布时间:2019-01-17, 22:06:45
最后更新:2020-01-13, 13:00:45
原始链接:http://sherlocz.github.io/2019/01/17/rename-1000/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。