75

次のpythonコードがあります:

values = set([1, 2, 3, 4, 5])
import pdb
pdb.set_trace()

スクリプトを実行すると、デバッグ シェルが表示されます。

(pdb) list(values)
*** Error in argument: '(values)'
(Pdb)

デバッガー自体のコマンドlist(values)を呼び出さずにデバッガーを呼び出すにはどうすればよいですか?list

4

5 に答える 5

78

それだけprint

(Pdb) print list(values)

python3バージョンの角かっこを追加することを忘れないでください

(Pdb) print(list(values))
于 2012-04-25T15:52:38.547 に答える
76

感嘆符を使用してください。デバッガコマンドをエスケープするには:

(Pdb) values = set([1, 2, 3, 4, 5])
(Pdb) list(values)
*** Error in argument: '(values)'
(Pdb) !list(values)
[1, 2, 3, 4, 5]
于 2012-08-23T03:05:31.143 に答える
1

ティエリー

このデータ構造はすでにシーケンスであるため、リストとして指定するのは冗長です。したがって、これはうまく機能します。

(Pdb) print values

また

(Pbd) print(values)

Python3 を使用している場合


必要に応じて、改行を含む素敵なリストを作成します

(Pdb) for x in values:  print x

また

(Pdb) for x in values:  print(x)

Python3 用

于 2012-04-25T16:04:20.533 に答える
0

それを行う別のややハッカー的な方法は、次のように入力します。

lst=list

pdbプロンプトで。次に、次のように記述できます。

values = set([1, 2, 3, 4, 5])
lst(values)

明らかに、これは推奨される回答ではありません。

于 2021-01-15T12:54:45.810 に答える