3

いくつかのレガシーコードをサポートするために、テキストファイルを読み取り、それを解析して、デフォルト値を上書きするために使用される可能性のある次のようなステートメントを探す必要がx=102あります。file=foo.dat2番目のものはないことに注意してくださいfile='foo.dat'; これらはPythonステートメントではありませんが、近いものです。

これで、デフォルトオブジェクトのを取得できるので、それはintであり、strである必要があるtypeことがわかります。ですから、右側をそのタイプにキャストする方法が必要です。これをプログラムで実行して、単一の単純なデフォルト設定関数を呼び出すことができるようにします。特に、すべての組み込み型をループする必要はありません。出来ますか?xfile

4

2 に答える 2

5
# Get the type object from the default value
value_type = type(defaults[fieldname])

# Instantiate an object of that type, using the string from the input
new_value = value_type(override_value)
于 2012-04-04T23:00:13.057 に答える
0

それは実際にはかなり簡単です:

textfromfile = '102'
defaultobject = 101
value = (type(defaultobject))(textfromfile)

ここで、valueは102に等しいintです。

于 2012-04-04T23:02:55.283 に答える