1

文字を削除しようとしていますb,'()。私が抱えている問題は、TypeError 'str' がバッファ インターフェイスをサポートしていないということです。

このコードの関連部分は次のとおりです。

import urllib3
def command_uptime():

    http = urllib3.PoolManager()
    r = http.request('GET', 'https://nightdev.com/hosted/uptime.php?channel=TrippedNW')
    rawData = r.data
    liveTime = bytes(rawData.strip("b,\'()", rawData))

    message = "Tripped has been live for: ", liveTime
    send_message(CHAN, message)
4

2 に答える 2

3

あなたが持っているのはバイナリデータです。文字列ではありません。最初にデコードする必要があります。

rawDataまた、strip メソッドで自分自身に渡す必要はありません。

import urllib3

def command_uptime():

    http = urllib3.PoolManager()
    r = http.request('GET', 'https://nightdev.com/hosted/uptime.php?channel=TrippedNW')
    strData = r.data.decode('utf-8')
    liveTime = strData.strip("b,\'()")

    message = "Tripped has been live for: %s" % liveTime
    print(message)

command_uptime()

messageまた、変数は文字列ではなくタプルであることにも注意してください。send_messageこれを期待しているかどうかはわかりません。私はそれを単一の文字列にフォーマットしました。

于 2015-05-21T02:08:01.333 に答える
0

2 番目の引数を削除するだけです。

import urllib3
def command_uptime():

    http = urllib3.PoolManager()
    r = http.request('GET', 'https://nightdev.com/hosted/uptime.php?channel=TrippedNW')
    rawData = r.data
    liveTime = bytes(rawData.strip("b,'()"))

    print("Tripped has been live for: %s" % liveTime)


command_uptime()

出力:

Tripped has been live for:  1 hour, 18 minutes
于 2015-05-21T02:19:21.463 に答える