コマンドラインパラメータを取得する Python のメソッド、getopt モジュールと argparse モジュールを紹介します。
Pythonバージョン: 2.7
1. getoptモジュール
主にモジュール内の関数を使用します:
options, args = getopt.getopt(args, shortopts, longopts=[])
パラメータargs: 通常はsys。 [1:]。 sys.argv[0] をフィルターで除外します。これは、実行されたスクリプトの名前であり、コマンド ライン パラメーターとしてカウントされません。
パラメータ shortopts: 短い形式の分析文字列。たとえば、「hp:i:」の場合、h の後にコロンがない場合はパラメータがないことを意味し、p と i の後にコロンがある場合はパラメータがあることを意味します。
パラメータlongopts: 長い形式の分析文字列リスト。例: ["help", "ip=", "port="]。help の後に等号はありません。これはパラメーターがないことを意味します。ip と port の後にコロンがあることは、パラメーターがあることを意味します。
戻り値のオプションは、要素としてタプルを含むリストです。各タプルの形式は次のとおりです: (オプション文字列、追加パラメータ) (例: ('-i', '192.168.0.1'))
戻り値の引数。 is '-' または '--' を含まないパラメータを要素とするリスト。
コマンドラインで次のコマンドを実行します:
python test_getopt.py -i 192.168.0.1 -p 80 123 a
または
python test_getopt.py -ip=192.168.0.1 --port=80 123
test_getopt.py コードは次のとおりです:
#encoding=utf-8 import getopt import sys def main(argv): try: options, args = getopt.getopt(argv, "hp:i:", ["help", "ip=", "port="]) except getopt.GetoptError: sys.exit() for option, value in options: if option in ("-h", "--help"): print("help") if option in ("-i", "--ip"): print("ip is: {0}".format(value)) if option in ("-p", "--port"): print("port is: {0}".format(value)) print("error args: {0}".format(args)) if __name__ == '__main__': main(sys.argv[1:])
実行結果は次のとおりです:
2. argparse モジュール
コマンド ライン オプションとパラメーターを解析するために使用される標準モジュール。
使用手順:
1: import argparse #モジュールをインポート
2: parser = argparse.ArgumentParser() #解析オブジェクトを作成する
3: parser.add_argument() #オブジェクトに使用するコマンドラインオプションを追加パラメータ
4: parser.parser_args() #コマンドラインを解析する
それでは、ArgumentParserとadd_argumentメソッドを詳しく紹介しましょう:
ArgumentParser(prog=None, use=None, description=None,eplog=None, parents =[]、formatter_class=argparser.HelpFormatter、prefix_chars='-'、fromfile_prefix_chars=None、argument_default=None、conflict_handler='error'、add_help=True)
プログラムの実行時には、パラメータにはデフォルト値が設定されます。パラメータが正しくない場合、または parser.print_help() メソッドが呼び出されたときに、これらの説明が出力されます。通常、渡す必要があるのはパラメータの説明のみです。
add_argument(名前またはフラグ... [, アクション] [, nargs] [, const] [, デフォルト] [, タイプ] [, 選択肢] [, 必須] [, ヘルプ] [, メタ変数] [, dest] )
共通パラメータは次のように説明されます:
name または flags: -p、--port などのコマンドラインパラメータ名またはオプション
action:
Store: デフォルトのアクションモード、値を指定された変数
store_const: ストレージ値はパラメーターの const 部分で指定され、非ブール値のコマンド ライン フラグを実装するためによく使用されます
store_true/store_false: ブール値のスイッチ。 store_true のデフォルト値は False です。コマンド ラインにブール スイッチを入力すると、値は True になります。 store_falseの逆です
Append:値をリストに格納します、このパラメータは再利用可能です
Append_const:値をリストに格納します、格納された値はパラメータのconst部分で指定されます
Count:数をカウントします統計パラメータの入力の省略形
Version: バージョン情報を出力し、スクリプトを終了します
nargs: コマンドラインパラメータの数。通常はワイルドカードで表されます: ? 1 つだけを意味し、* は 0 からそれ以上を意味し、+ は 1 からそれ以上を意味します
default: デフォルト値
type: パラメーターの型、デフォルトは文字列型、float、int、Boolean 型にすることもできます
choices : 範囲入力値の数
required: デフォルトは False ですが、True の場合、パラメータを入力する必要があることを意味します
help: 使用されるヘルプ プロンプト情報
dest: プログラム内のパラメータに対応する変数名例: add_argument(" -a", dest="code_name")。スクリプト内で parser.code_name を使用してコマンド ライン オプションの値にアクセスします
サンプル スクリプト test_argparse.py コードは次のとおりです:
1 #encoding=utf-8 2 import argparse 3 4 def main(args): 5 print("--address {0}".format(args.code_address)) #args.address会报错,因为指定了dest的值 6 print("--flag {0}".format(args.flag)) #如果命令行中该参数输入的值不在choices列表中,则报错 7 print("--port {0}".format(args.port)) #prot的类型为int类型,如果命令行中没有输入该选项则报错 8 print("-l {0}".format(args.log)) #如果命令行中输入该参数,则该值为True。因为为短格式"-l"指定了别名"--log",所以程序中用args.log来访问 9 10 if __name__ == '__main__':11 parser = argparse.ArgumentParser(usage="it's usage tip.", description="help info.")12 parser.add_argument("--address", default=80, help="the port number.", dest="code_address")13 parser.add_argument("--flag", choices=['.txt', '.jpg', '.xml', '.png'], default=".txt", help="the file type")14 parser.add_argument("--port", type=int, required=True, help="the port number.")15 parser.add_argument("-l", "--log", default=False, action="store_true", help="active log info.")16 17 args = parser.parse_args()18 main(args)
次のコマンドをそれぞれ実行します:
python test_argparse.py
python test_argparse.py --port 80
python test_argparse.py --port 80 --フラグAPK
python test_argparse.py -- ポート 80 -l
コマンドラインパラメータを取得するためのその他の Python メソッドと関連記事については、PHP 中国語 Web サイトに注目してください。

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

PythonとCは、メモリ管理と制御に大きな違いがあります。 1。Pythonは、参照カウントとガベージコレクションに基づいて自動メモリ管理を使用し、プログラマーの作業を簡素化します。 2.Cには、メモリの手動管理が必要であり、より多くの制御を提供しますが、複雑さとエラーのリスクが増加します。どの言語を選択するかは、プロジェクトの要件とチームテクノロジースタックに基づいている必要があります。

科学コンピューティングにおけるPythonのアプリケーションには、データ分析、機械学習、数値シミュレーション、視覚化が含まれます。 1.numpyは、効率的な多次元配列と数学的関数を提供します。 2。ScipyはNumpy機能を拡張し、最適化と線形代数ツールを提供します。 3. Pandasは、データ処理と分析に使用されます。 4.matplotlibは、さまざまなグラフと視覚的な結果を生成するために使用されます。

PythonまたはCを選択するかどうかは、プロジェクトの要件に依存するかどうかは次のとおりです。1)Pythonは、簡潔な構文とリッチライブラリのため、迅速な発展、データサイエンス、スクリプトに適しています。 2)Cは、コンピレーションと手動メモリ管理のため、システムプログラミングやゲーム開発など、高性能および基礎となる制御を必要とするシナリオに適しています。

Pythonは、データサイエンスと機械学習で広く使用されており、主にそのシンプルさと強力なライブラリエコシステムに依存しています。 1)Pandasはデータ処理と分析に使用され、2)Numpyが効率的な数値計算を提供し、3)SCIKIT-LEARNは機械学習モデルの構築と最適化に使用されます。これらのライブラリは、Pythonをデータサイエンスと機械学習に理想的なツールにします。

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Web開発におけるPythonの主要なアプリケーションには、DjangoおよびFlaskフレームワークの使用、API開発、データ分析と視覚化、機械学習とAI、およびパフォーマンスの最適化が含まれます。 1。DjangoandFlask Framework:Djangoは、複雑な用途の迅速な発展に適しており、Flaskは小規模または高度にカスタマイズされたプロジェクトに適しています。 2。API開発:フラスコまたはdjangorestFrameworkを使用して、Restfulapiを構築します。 3。データ分析と視覚化:Pythonを使用してデータを処理し、Webインターフェイスを介して表示します。 4。機械学習とAI:Pythonは、インテリジェントWebアプリケーションを構築するために使用されます。 5。パフォーマンスの最適化:非同期プログラミング、キャッシュ、コードを通じて最適化

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
