[解決済み] sys.argv[x]が定義されているかどうかをチェックする
2022-06-30 12:42:37
質問
変数がスクリプトに渡されたかどうかを確認する最善の方法は何でしょうか。
try:
sys.argv[1]
except NameError:
startingpoint = 'blah'
else:
startingpoint = sys.argv[1]
どのように解決するのですか?
結局のところ
try, except
とテストするのと
len(sys.argv)
はそれほど重要ではありません。どちらも
argparse
.
これは、低予算のargparseのようなものとして、私に思い浮かびました。
arg_names = ['command', 'x', 'y', 'operation', 'option']
args = dict(zip(arg_names, sys.argv))
を生成するために使うこともできます。
namedtuple
にデフォルトで設定されている値で
None
-- のような値で構成されています。
Arg_list = collections.namedtuple('Arg_list', arg_names)
args = Arg_list(*(args.get(arg, None) for arg in arg_names))
をよく知らない人のために
namedtuple
これはオブジェクトのように振る舞うタプルで、その値にアクセスするために
tup.attribute
構文の代わりに
tup[0]
の構文に置き換えます。
つまり、最初の行は新しい
namedtuple
の各値に対応する値を持つ
arg_names
. 2行目は
args
辞書の値を渡します。
get
を使って、与えられた引数名が辞書に関連する値を持っていない場合にデフォルト値を返すようにしています。
関連
-
Python jiabaライブラリの使用方法について説明
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] 文字列が数値(float)であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] Pythonで文字列を反転させる
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
Python入門 openを使ったファイルの読み書きの方法
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない