用Python重命名HTML文件

0 投票
3 回答
755 浏览
提问于 2025-04-15 13:52

背景介绍一下:
当我从比如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这个工具会对你很有帮助。

撰写回答