一些背景知识: 当我保存网页时,例如IE8为“网页,完整”,页面包含的图像和文件放在带有后缀“_files”的子文件夹中。此约定允许Windows同步.htm文件和随附的文件夹。
现在,为了保持同步不变,当我从Python脚本重命名HTML文件时,我也希望重命名“_files”文件夹。有没有一种简单的方法可以做到这一点,或者我需要做什么
- 重命名.htm文件
- 重命名_files文件夹
- 解析.htm文件并用新名称替换对旧_files文件夹名称的所有引用?
答案 0 :(得分:1)
只有一种简单的方法:让IE以新名称再次保存文件。但是如果你想稍后再做,你必须解析HTML。在这种情况下,BeautifulSoup是您的朋友。
答案 1 :(得分:0)
如果重命名该文件夹,我不知道如何解析.htm
文件并用新后缀替换_files
的实例。也许您可以使用文件夹别名(快捷方式?),但那不是一个非常干净的解决方案。
答案 2 :(得分: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)