Переименование файла HTML с помощью Python - PullRequest
0 голосов
/ 26 августа 2009

немного фона: Когда я сохраняю веб-страницу, например, IE8 как «webpage, complete», изображения и т. Д., Которые содержит страница, помещаются в подпапку с постфиксом «_files». Это соглашение позволяет Windows синхронизировать файл .htm и сопутствующую папку.

Теперь, чтобы сохранить целостность синхронизации, когда я переименовываю HTML-файл из своего скрипта Python, я хочу, чтобы папка "_files" также была переименована. Есть ли простой способ сделать это, или мне нужно будет
- переименовать файл .htm
- переименовать папку _files
- проанализировать файл .htm и заменить все ссылки на старое имя папки _files новым именем?

Ответы [ 3 ]

1 голос
/ 26 августа 2009

Есть только один простой способ: пусть IE снова сохранит файл под новым именем. Но если вы хотите сделать это позже, вы должны проанализировать HTML. В этом случае BeautifulSoup является вашим другом.

0 голосов
/ 26 августа 2009

вы можете использовать простую замену строк в вашем 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 голосов
/ 26 августа 2009

Если вы переименуете папку, я не уверен, как можно обойтись при анализе файла .htm и замене экземпляров _files новым суффиксом. Возможно, вы можете использовать псевдоним папки (ярлык?), Но тогда это не очень чистое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...