用Python重命名HTML文件
背景介绍一下:
当我从比如IE8浏览器保存一个网页为“完整网页”时,网页里的图片等内容会被放到一个后缀为“_files”的子文件夹里。这种做法让Windows可以同步这个.htm文件和它对应的文件夹。
现在,为了保持同步,当我通过Python脚本重命名HTML文件时,我也想把“_files”文件夹一起重命名。有没有简单的方法可以做到这一点?还是说我需要:
- 重命名.htm文件
- 重命名_files文件夹
- 解析.htm文件,把里面所有指向旧_files文件夹名字的地方都换成新名字?
3 个回答
0
你可以在你的HTML文件上直接使用简单的字符串替换,而不需要解析它。不过,如果你要替换的文本本身也出现在HTML中,那可能会有点麻烦。
os.rename("test.html", "test2.html")
os.rename("test_files", "test2_files")
with open("test2.html", "r") as f:
s = f.read().replace("test_files", "test2_files")
with open("test2.html", "w") as f:
f.write(s)
0
如果你把文件夹改了名字,我不太确定你怎么能处理.htm
文件,把里面的_files
替换成新的后缀。也许你可以用文件夹别名(快捷方式?),但那样的话就不太干净利落了。
1
其实有一个简单的方法:让IE浏览器重新保存文件,给它起个新名字。不过,如果你想稍后再处理这个文件,就需要分析一下HTML代码。在这种情况下,BeautifulSoup这个工具会对你很有帮助。