私はコードを持っています:
print "bug " + data[str.find(data,'%')+2:-1]
temp = data[str.find(data,'%')+2:-1]
time.sleep(1)
print "bug Tuple " + Tuple(temp.split(', '))
そしてこの後、私のアプリケーションは次のように表示されます。
バグ1、2、トレースバック(最後の最後の呼び出し):ファイル "C:\ Python26\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py"、312行目、RunScript exec codeObject in main .dict File "C:\ Documents and Settings\k.pawlowski\Desktop\atsserver.py"、line 165、in print "bug Tuple" + Tuple(temp.split( '、'))TypeError:'str'オブジェクトと 'Tuple'オブジェクトを連結できません
何を間違えたのかわかりません。 print Tuple( '1、2、3'.split('、 '))は正しく機能します。
print Tuple(something)
printは引数に対して暗黙のstr()を実行するため、機能する可能性がありますが、
"" + ()
動作しません。それらを個別に印刷できるという事実は違いを生みません。文字列とタプルを連結することはできません。どちらか一方を変換する必要があります。つまり.
print "foo" + str(Tuple("bar"))
ただし、変換のためにstr()に依存すると、おそらく望ましい結果が得られません。たとえば、「、」を使用してセパレータを使用して、それらをきちんと結合します。
なぜそれがうまくいくと思いますか?
試してください:
print "bug Tuple " + str(Tuple(temp.split(', ')))
に変更します
print "bug Tuple ", Tuple(temp.split(', '))
なぜタプルを分割するのか、括弧を除いて準備ができている文字列があります。
print "bug Tuple (%s)" % '1, 2, 3'
Tuple()
の必要はありません、次の作業、
outstr = str((w,t)) # (w,t) is my Tuple