mieki256's diary



2012/08/17(金) [n年前の日記]

#1 [python] Pythonの異なるバージョンに対応したスクリプトって書けないのかな

こういう感じの書き方はできないのかなあ…?
#ifdef python26
import optparse
#ifdef python27
import argparse
#endif

optparse ―― コマンドラインオプションを解析するライブラリについて調べていたら、「optparseが許されるのは Python 2.6 までだよねー」「argparseを使うのがトレンドだよねー」という話を見かけたわけで。しかし、Python 2.6 上で import argparse なんて書こうものなら、「そんなライブラリはねえよ」と文句を言われてしまう。 *1

まあ、optparse, argparse に限って言えば、Python 2.7 以降で optparse が削除されるわけではないので、共用できるスクリプトを書くなら optparse 使って argparse はガン無視する、という方針でいいのだろうと思うけど。あくまで、optparse は今後メンテナンスしない・argparse を使うほうが望ましい、と言ってるだけだし。

しかし、こういうアレコレが他にもたくさんありそうだなと。古い書き方をしても、新しいバージョンのPythonで動くのであれば、古い書き方さえしておけばいい、ということになるだろうけど。おそらく、それでは済まない場合もありそうな。であれば、Python のバージョンによって処理が変わるスクリプトを書けたら、便利だったりするのかなと。

でも、色々と堅苦しい Python の世界においては、そういう泥臭い(?)やり方は用意されてない可能性が高そう。おそらく、Pythonic とやらに反するのだろうな。
*1: Python 2.6上でも、argparse を別途インストールすれば使えるらしい。が、そこまでして使うべきものなのか、スクリプトを公開する際に、「argparseを各自インストールせよ」と要求するのは妥当なのか、という感も。

以上です。

過去ログ表示

Prev - 2012/08 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project