[Raspberry Pi] python-fmrest で FileMaker Data API を使う3
python-fmrest で FileMaker Data API を使う方法について書いた。
コマンドライン引数を使用して python-fmrest を実行する場合、コマンドライン引数の数が足りない場合にどうすればいいか。python-fmrest だけでなく Python スクリプト一般に言えることだが、スクリプト内で条件分岐して解決すればいい。
例えばレコードを新規作成し、field1 に引数1、field2 に引数2、field3 に引数3を入力する python-fmrest のスクリプトを書くとする。
そのとき2つしかコマンドライン引数が与えられなかった場合、3つ目のコマンドライン引数を空白として処理するには以下のようなスクリプトを書けばいい。
import fmrest
import sys
args = sys.argv
fms = fmrest.Server(
'{https://{FMS の IP アドレス}',
user='{データベースのユーザー名}',
password='{データベースのパスワード}',
database='{データベース名}',
layout='{レイアウト名}',
verify_ssl=False,
api_version='v1'
)
fms.login()
if len(args) < 4:
hoge = fms.create_record({'field1': args[1], 'field2': args[2], 'field3': ''})
fms.logout()
sys.exit()
else:
hoge = fms.create_record({'field1': args[1], 'field2': args[2], 'field3': args[3]})
fms.logout()
参考:
Pythonでプログラムを終了させる:sys.exit() | UX MILK
https://uxmilk.jp/12929
python - 引数が無いかどうか調べる処理をしたい - スタック・オーバーフロー
https://ja.stackoverflow.com/questions/44987/%E5%BC%95%E6%95%B0%E3%81%8C%E7%84%A1%E3%81%84%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E8%AA%BF%E3%81%B9%E3%82%8B%E5%87%A6%E7%90%86%E3%82%92%E3%81%97%E3%81%9F%E3%81%84
IndexError: list index out of range
https://teratail.com/questions/117620
【Python基礎】sysモジュールを使ってコマンドライン引数を取得する方法 | 3PySci
https://3pysci.com/python-args-1/#index_id2
この記事が気に入ったらサポートをしてみませんか?