1

twill.commands.show()ページから生の HTML を取得する関数を使用しています。これを約5秒ごとに実行します。関数が実行されるたびに、前述の Web ページの生の HTML がコンソールにスパム送信されます。デバッグにはコンソールを使用する必要がありますが、コンソールは常に HTML で埋め尽くされているため、そうすることができません。show()は HTML を印刷して文字列として返すようにプログラムされているため、ツイルを編集する必要がありますが、これは私スキルセットをはるかに超えており、プログラムが他のデバイスと互換性がなくなります。ファイルの保存と読み取りを何度も行うとうまくいくかもしれませんが、5 秒ごとに行うのは現実的ではないようです。

コード:

go('http://google.com/')
html=show()

繰り返しますが、ツイルにはsave_htmlファイルに保存するために使用できる がありますが、私はこれを 5 秒ごとに行っているため、特に古い OS で実行されている場合は、プログラム/コンピューターの速度が低下する可能性があります。

ありがとう!

4

2 に答える 2

2

ツイルはstdoutデフォルトで書き込みます。

twill.set_output(fp)標準出力のリダイレクトに使用できます。これを行うには、いくつかの可能な実装があります。

への書き込みStringIO:

from StringIO import StringIO
sio = StringIO()
twill.set_output(sio)
html = show() # html+'\n' == sio.getvalue()

または/dev/null:

import os
null = open(os.devnull, 'w')
twill.set_output(null)
html = show() # writing to /dev/null or nul
null.close()

またはまったく何もしない:

class DevNull(object):
    def write(self, str):
        pass
twill.set_output(DevNull())
html = show()

または、好みの他の書き込み可能なファイルのような python オブジェクトに。

于 2015-04-25T15:01:18.683 に答える