前提・実現したいこと
.connect(dict)
のような形でパラメーターを渡して接続できるようにしたいです。
開発者は以下のソースコードを修正せず、設定ファイルを書き換えるだけで向き先を変えられるようにしたいです。
myconnect(dict): .connect(user=dict.user, passwd=dict.passwd,...)
上記のように関数を作成すれば運用条件は満たせますが、今回は.connect(なにか)のような形で解決したいです。
質問は、この(なにか)だけでuser=dict.user, passwd=dict.passwd,...のような振る舞いが可能なのでしょうか?
という点でご回答いただけるとありがたいです。
発生している問題・エラーメッセージ
{'key1': 'value1', 'key2': 'value2'} key1 key2 Traceback (most recent call last): File "/mnt/d/environment/WSL/optsrc/utils/snippet/python/db/test.py", line 10, in <module> print(**dic) TypeError: 'key1' is an invalid keyword argument for this function
{'key2': 'value2', 'key1': 'value1'} key2 key1 Traceback (most recent call last): File "test.py", line 10, in <module> print(**dic) TypeError: 'key2' is an invalid keyword argument for this function
dict型が順不同のため、エラーパターンが上記2種類発生します。
該当のソースコード
python
1dic = { 2 'key1': 'value1', 3 'key2': 'value2' 4 } 5print(dic) 6print(*dic) 7print(**dic) 8
実際はprintの部分が.connectになります。
試したこと
ソースコード中の通りです。
補足情報(FW/ツールのバージョンなど)
pythonのバージョンは指定しませんが、ここでは3.7.1を使用しています。
DBの指定もしていませんが、ここではpymysqlを使用しています。
- .connect(なにか)の引数が複数にならないように出来る方法をご回答に期待しています。
- (DB).connectの(DB)部分、importするパッケージに指定がある場合、そちらの情報も求めています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/02 08:38