はじめに
移植やってます
hasattr (Python)
try:
import pandas as pd
except ImportError:
pd = None
else:
if hasattr(pd, '_version'):
pv = pd._version.get_versions()['version']
else:
pv = pd.version.version
hasattr
でメソッドがあるかどうかを確認。
Pandas
の古いバージョンに対応していると思われ。
methods (Ruby)
begin
require 'pandas'
pd = Pandas
rescue => exception
pd = nil
else
if pd.methods.include?(:__version__)
pv = pd.__version__
else
raise "Pandas#__version__ NoMethodError"
end
end
Class#methods
でメソッド一覧が取れます。
まあ、こちらはRuby
やPandas
等の環境を指定できますので、それほど問題にはならないかも。
メモ
- Python の hasattr を学習した
- 道のりは遠そう