Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 2, 2013 10:19:51

-Lexx-
От: Николаев
Зарегистрирован: 2013-04-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление вывода в файл

Ребята, доброго времени суток! У меня такая проблема: надо вывести в файл текст документации, который можно получить функцией pydoc.help(что нибудь). Я делаю так:

import sys, pydoc
f=open('data.txt','w')
sys.stdout=f
pydoc.help(dir) #например
f.close()
sys.stdout=sys.__stdout__
но вылазит такая ошибка:
AttributeError: Console instance has no attribute ‘isatty’
А самое интересное что через время с тем же кодом заработало, а потом опять перестало само по себе. Я в магию не верю, но и не понимаю что я не так делал. Нигде толковой инфы нету, а та что есть - на основе этого метода. как мне записать в файл документацию??

Офлайн

#2 Апрель 2, 2013 11:07:19

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Перенаправление вывода в файл

Вообще есть такой подход

f=open('data.txt','w')
print>>f,'hello'
f.close()

а по делу: посомтрите оиз под чего код запускался и работал хорошо,а где нет. Я имею ввиду terminal, Kconsole,cron и тп



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Апрель 2, 2013 11:15:21

-Lexx-
От: Николаев
Зарегистрирован: 2013-04-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление вывода в файл

JOHN_16
Вообще есть такой подход
этот подход я тоже рассматривал, но все равно вылезает ошибка. Вся сложность в том что функция help() возвращает None, а не строку и поэтому приходится мудрить. а pydoc.getdoc() не производит должного результата, хоть и возвращает строку, короче я в растерянности…

Офлайн

#4 Апрель 2, 2013 17:41:01

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Перенаправление вывода в файл

Еще вариант:

d = pydoc.plain( pydoc.render_doc( myobj ) )



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version