私はPythonを初めて使用しています。 urllibを使ってWebページを取得しようとしています。 これは通常のクラスで動作しています。私はコードをクリーンアップして、通常は静的メソッドに置き、他のクラスで呼び出すようにしたいと思います。バイトデコードは静的メソッドでは機能しませんか?
コードが実行されると、プログラムは直ちに停止し、コンソールにエラーコードは表示されません。デコード機能を使用しない場合、エラーはありませんが、データはバイト単位です。
なぜこのようなことが起こったのか誰かに教えてもらえますか?
import sys
import urllib.request
class AppTool():
@staticmethod
def getURL(URL):
result = ""
try:
request = urllib.request.Request(URL)
response = urllib.request.urlopen(request)
result = response.read().decode('utf-8')
print("result : {}".format(result))
except:
print("Error: {}".format(sys.exc_info()))
return result
全然、静的メソッドを使用するには、説得力のある理由:
ここは、はるかに良い答えです。 – miradulo
理由を教えてもらえますか?私は、さまざまなクラスで関数を複数回呼び出すことがあり、時には呼び出すメソッドが1つだけ必要な場合もあります。 – user77177928
以外の空白は使用しないでください。予期したものを捕まえ、受け取ったエラーを追加してください。 –