pydoc.writedocs
просто повторяет вызов writedoc
, который задокументирован (и реализован) для «записи файла в текущий каталог». Единственный выход, который я вижу, - это создание модифицированной версии и ее принудительное использование (т.е. вздох, обезьяна) в модуле, или обезличивание некоторого ключевого аспекта, а именно, где открывается open для записи запрашиваемых HTML-файлов. открыть. В частности, в вашем коде вы можете сделать что-то вроде:
import pydoc
def monkey_open(name, option):
if option == 'w' and name.endswith('.html'):
name_pieces = name.split('.')
name_pieces[-2:] = '.'.join(name_pieces[-2:])
name = '/'.join(name_pieces)
return open(name, option)
pydoc.open = monkey_open
Не элегантное и не очень надежное решение, но "необходимо" ... pydoc просто не предназначен для того, чтобы позволить вам делать то, что вы хотите, поэтому его нужно немного "прижать".