本文を読み飛ばす

Zopeでtype関数が使えない

http://www.tt.rim.or.jp/~syd/?key=2001:03:14:f より

◆蛇使い
型の判別はPythonなら「type(x)==type([])」という手が使えるのだが、なぜかZopeには「_.type()」ってのがない。x[0]とかやっても文字列なら先頭1文字、リストなら最初の要素が返されるのでtryとか使えんし。
とりあえず、「x[0:0]==''」なら文字列、「x[0:0]==[]」ならリストという方法を思いついたので、これで行こうと思う。
for name in ('None', 'abs', 'chr', 'divmod', 'float', 'hash', 'hex', 'int',
'len', 'max', 'min', 'oct', 'ord', 'round', 'str'):
d[name]=__builtins__[name]
実は↑こんなのがlib/python/DocumentTemplate/DT_Util.pyにあったりする。ただここを書き換えちゃうと後々大変なので‥‥

これは激しく使いにくい...

でも話題になってないみたいだし、
みんな困っていないのかな.

他人のブログから記事拝借。

時間もたっているし、違う解があるのかも...

コメント

Comments powered by Disqus
宣伝: