TypeError例外: 'STR' と 'インスタンス' オブジェクトを連結することができない(Pythonのurllibは)
質問
Pythonプログラムを書く、とurllib.urlopen
機能を使用している間、私はこのエラーを思い付いた。
Traceback (most recent call last):
File "ChurchScraper.py", line 58, in <module>
html = GetAllChurchPages()
File "ChurchScraper.py", line 48, in GetAllChurchPages
CPs = CPs + urllib.urlopen(url)
TypeError: cannot concatenate 'str' and 'instance' objects
url = 'http://website.com/index.php?cID=' + str(cID)
CPs = CPs + urllib.urlopen(url)
解決
urlopen(URL)ファイルのようなオブジェクトを返します。文字列の内容を取得するには、してみてください。
CPs = CPs + urllib.urlopen(url).read()
他のヒント
urllib.urllopenは文字列を返さない、それはオブジェクトを返します
ドキュメントの
If all went well, a file-like object is returned.
問題は、この行である:私はCPs = CPs + urllib.urlopen(url)
が文字列であると仮定しCPs
しかしurllib.urlopen(url)
オブジェクトなどのファイルを返します。
url
でCPs
でファイルの内容を参加させたい場合は、あなたはこのような何か実行する必要があります。CPs = CPs + urllib.urlopen(url).read()
を
CPは何ですか?それは文字列であるように見えます。 urlopenは、ファイルのようなオブジェクトではなく、文字列のインスタンスを返します。参照してください - http://docs.python.org/library/urllib.html に。
エラーがurlopenからスローされませんが、オブジェクトインスタンスの文字列を連結しようとしているため。
所属していません StackOverflow