我用下划线替换了文件名中的所有空格。文件大小约为800.我使用了替换先锋。但问题是如何在href字段中替换这些文件名?
答案 0 :(得分:1)
首先,您可以尝试使用unix find和sed命令。然而,这样做需要对正则表达式有很强的了解,并且可能最终会比简单的单行程更多。由于您不是简单地替换一个已知字符串并且需要避免替换文件名之外的空格,我建议通过使用xml解析器编写脚本来执行此操作。
以下是您在Python中编写此类脚本时需要执行的操作的基本概要:
1)导入OS和ElementTree lib:import os
和from optparse import OptionParser import xml.etree.ElementTree as ET
2)使用Python的“listdir”或“glob”获取要修改的HTML文件列表。
3)对于每个文件,获取所有img
或a
标记,具体取决于哪些标记包含需要更改的href
属性。例如,您可以在这样的文件中获取所有img
标记:
file = ET.parse(filename)
doc = file.getroot()
imgs = doc.findall('.//img')
4)最后,对于每个img
或a
代码,请在代码href
属性中替换所有带下划线的空格。
我希望这会有所帮助。如果我误解了你的问题,请告诉我。此外,有可能使用您提到的工具或类似的工具来解决这个问题,虽然我发现它不太可能,并且可能需要相当数量的正则表达式。