[解決済み] Python argparseの入力引数の日付形式を指定する
2022-06-22 05:50:24
質問
コマンドライン入力を必要とする Python スクリプトがあります。
argparse
を使って解析しています。私はドキュメントが少し分かりにくいと感じ、入力パラメータのフォーマットをチェックする方法を見つけることができませんでした。私がフォーマットをチェックすることで何を意味するのか、このサンプルスクリプトで説明します。
parser.add_argument('-s', "--startdate", help="The Start Date - format YYYY-MM-DD ", required=True)
parser.add_argument('-e', "--enddate", help="The End Date format YYYY-MM-DD (Inclusive)", required=True)
parser.add_argument('-a', "--accountid", type=int, help='Account ID for the account for which data is required (Default: 570)')
parser.add_argument('-o', "--outputpath", help='Directory where output needs to be stored (Default: ' + os.path.dirname(os.path.abspath(__file__)))
オプションのチェックが必要です
-s
と
-e
というフォーマットで入力されることを示します。
YYYY-MM-DD
. にオプションはありますか?
argparse
に、これを実現する私の知らないオプションがあるのでしょうか?
どのように解決するのですか?
以下の通りです。 ドキュメント :
は
type
のキーワード引数add_argument()
は,必要な型チェックや型変換を行うことができる.の引数はtype
への引数は、単一の文字列を受け入れる任意のcallableであることができます。
のようなことができる。
def valid_date(s):
try:
return datetime.strptime(s, "%Y-%m-%d")
except ValueError:
msg = "not a valid date: {0!r}".format(s)
raise argparse.ArgumentTypeError(msg)
そして、これを
type
:
parser.add_argument(
"-s",
"--startdate",
help="The Start Date - format YYYY-MM-DD",
required=True,
type=valid_date
)
関連
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み] Pythonのswitch文の代用品?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] ファイルの作成日時、変更日時を取得する方法
-
[解決済み] Argparse オプションの位置引数?
-
[解決済み] Pythonでタイムゾーンを意識したdatetimeオブジェクトを作るには?
-
[解決済み] Python argparse 引数なしのコマンドラインフラグ
-
[解決済み】Argparse: 必須引数が「オプション引数」の下に表示される?
-
[解決済み】Python argparseが認識できない引数を無視する件
-
[解決済み】引数なしでスクリプトを呼び出したとき、Pythonのargparseでヘルプメッセージを表示する。
最新
-
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サンプルコード
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない