У меня есть питон скриптКак я могу сделать этот скрипт python через дерево каталогов?
$ cat ~/script.py
import sys
from lxml import etree
from lxml.html import parse
doc = parse(sys.argv[1])
title = doc.find('//title')
title.text = span2.text.strip()
print etree.tostring(doc)
я могу запустить скрипт на отдельный файл, выдавая что-то вроде
$ python script.py foo.html > new-foo.html
Моей проблемы в том, что у меня есть каталог ~/webpage
, который содержит сотни .html
файлов разбросан во всех подкаталогах. Я хотел бы запустить ~/script.py
во всех этих файлах html. Я сейчас делаю это с
$ find ~/webpage/ -name "*.html" -exec sh -c 'python ~/script.py {} > {}-new' \;
Однако, это создает новый файл для каждого файла HTML в ~/webpage
и я на самом деле хочу оригинальный файл отредактирован.
Это можно сделать изнутри python? Может быть, с чем-то вроде os.walk
?
Так что делает эти изменения устраняет ошибки, но как я могу использовать это, чтобы сохранить изменения в файлы? –
Ну, вы можете написать документ, сгенерированный в файл. Я верну свой ответ на примере. – Bhargav