1

助けてください、ビッグデータを読み込んでいるのに突然str()動かなくなりました。もう呼び出すことはできません。ある時点で のような割り当てを行ったことを覚えていますがstr = something、今ではstr(1)もう呼び出すことさえできず、次のようになりました。

TypeError: 'str' オブジェクトは呼び出し可能ではありません

呼び出しstrの結果''

str()したがって、この場合、インタープリターを再起動することはできません。このデータをファイルに書き込むことができるように、古いものを元に戻す方法はまだありますか?

4

2 に答える 2

3

組み込みの を再取得するには、いくつかの方法がありますstr

str = type("")

または:

import builtins   # __builtin__ in python2
str = builtins.str

2つの例を挙げるだけです。


同じ効果を達成するためのより「あいまいな」方法:

del str

strこれは間違っているように思えるかもしれませんが、変数を削除した後、入力strするとグローバルで検索され、その後組み込みで検索されるため、他のソリューションと同じ効果が得られます。

>>> str = 1
>>> del str
>>> str(127)
'127'

実際、これが以前の割り当てを完全に元に戻す唯一の方法です。を元の値に再割り当てすると、組み込みスコープから使用される変数ではなく、ローカル/グローバル変数を引き続き使用します。ただし、これが問題になる状況は考えられません(ローカル変数に割り当てるときにパフォーマンスが向上する可能性があることを除いて)。str

于 2013-09-15T16:40:30.987 に答える
0

あなたがそれをする必要があるなら、電話してください。

__builtin__.str

これにより、元の str コマンドが返されます。

于 2013-09-15T16:41:03.507 に答える