tuneoの日記: てめーエバってんじゃねーよ!
日記 by
tuneo
「威張る」が訛った「えばる」ではなく、プログラマが蛇蝎のごとく忌み嫌う「eval」の方です。例の「●●学会インターナショナル」みたいな名前のベンダが拵えたクソいPythonスクリプトの中で発見いたしました。
どうやら「整数」「True/False」「文字列」がちゃんぽんに出てくるデータファイルを読みたいらしいのですが……だからってeval()はダメでしょうよ。中にos.system('rm -fr ~/*')とか書けちゃうじゃないですかやだー!
手間を惜しまずこういう関数ぐらい書け。(最初に気分で書いたのは大ポカしてたので書き直し。bool("False")はTrueなんすよPythonでは……)
def strtoval(s):
result = None
try:
result = int(s)
except ValueError:
if s == "True":
result = True
elif s == "False":
result = False
else:
result = s
return result
else:
てめーエバってんじゃねーよ! More ログイン