【问题标题】:Renaming a HTML file with Python使用 Python 重命名 HTML 文件
【发布时间】:2010-11-22 21:41:15
【问题描述】:

一点背景: 当我从例如保存网页时IE8 为“网页,完整”,页面包含的图像等放置在后缀为“_files”的子文件夹中。此约定允许 Windows 同步 .htm 文件和随附的文件夹。

现在,为了保持同步完整,当我从 Python 脚本重命名 HTML 文件时,我希望也重命名“_files”文件夹。有没有一种简单的方法可以做到这一点,或者我需要
- 重命名 .htm 文件
- 重命名 _files 文件夹
- 解析 .htm 文件并将所有对旧 _files 文件夹名称的引用替换为新名称?

【问题讨论】:

  • 在 Perl 中有一个模块,我很确定 :-),虽然我猜你必须用 Python 编写自己的

标签: python html


【解决方案1】:

只有一种简单的方法:让 IE 以新名称再次保存文件。但如果你想稍后再做,你必须解析 HTML。在这种情况下,BeautifulSoup 是您的朋友。

【讨论】:

    【解决方案2】:

    如果您重命名该文件夹,我不确定您如何绕过解析 .htm 文件并用新后缀替换 _files 的实例。也许您可以使用文件夹别名(快捷方式?),但这不是一个非常干净的解决方案。

    【讨论】:

      【解决方案3】:

      你可以在你的 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)
      

      【讨论】:

        猜你喜欢
        • 2013-08-24
        • 2016-01-01
        • 2014-10-10
        • 1970-01-01
        • 2013-12-21
        • 2011-01-30
        • 2021-02-20
        相关资源
        最近更新 更多