Table des matières
基本用法
实用技巧
1. 添加默认值
2. 添加限制
3. 添加互斥参数
4. 添加子命令
示例代码
Utilisation de base
Conseils pratiques
1 Ajouter des valeurs par défaut
2. Ajouter des restrictions
3. Ajouter des paramètres mutuellement exclusifs
4.
Exemple de code
Maison développement back-end Tutoriel Python Conseils pratiques pour analyser les paramètres de ligne de commande Python

Conseils pratiques pour analyser les paramètres de ligne de commande Python

Feb 03, 2024 am 08:30 AM
Analyse des paramètres de ligne de commande analyseur de ligne de commande

Conseils pratiques pour analyser les paramètres de ligne de commande Python

Conseils pratiques pour l'analyse des paramètres de ligne de commande Python

Lors de l'écriture de scripts en Python, vous avez souvent besoin d'obtenir des paramètres à partir de la ligne de commande. Le module argparse intégré de Python fournit un outil simple et puissant pour l'analyse des arguments de ligne de commande. Cet article présentera l'utilisation de base de argparse et fournira quelques conseils pratiques et exemples de code. argparse模块提供了一个简单而强大的实现命令行参数解析的工具。本文将介绍argparse的基本用法,并提供一些实用的技巧和代码示例。

基本用法

首先,需要导入argparse模块:

import argparse
Copier après la connexion

然后,可以创建一个argparse.ArgumentParser对象来解析命令行参数:

parser = argparse.ArgumentParser(description='命令行参数解析示例')
Copier après la connexion

description参数用于提供一个简短的描述,以便在帮助信息中显示。

接下来,可以向ArgumentParser对象添加不同的命令行参数。例如,添加一个位置参数:

parser.add_argument('input_file', help='输入文件路径')
Copier après la connexion

这会创建一个名为input_file的位置参数,用于指定输入文件的路径。

为了提供更多灵活性,可以添加可选参数。例如,添加一个--output参数,用于指定输出文件的路径:

parser.add_argument('--output', help='输出文件路径')
Copier après la connexion

使用--output这样的长参数形式,还可以使用简短的单词形式,如-o。要添加简短形式的参数,可以将-o添加到参数的dest参数中:

parser.add_argument('-o', '--output', help='输出文件路径')
Copier après la connexion

然后,可以使用parse_args()方法解析命令行参数:

args = parser.parse_args()
Copier après la connexion

解析结果将保存在args对象中。可以通过对象的属性来访问这些值:

print(args.input_file)
print(args.output)
Copier après la connexion

对于位置参数,可以使用nargs参数来指定接受多个值。例如,要接受多个输入文件路径,可以使用nargs='+'

parser.add_argument('input_files', nargs='+', help='输入文件路径')
Copier après la connexion

实用技巧

1. 添加默认值

可以为参数提供默认值。例如,要将--output参数的默认值设置为output.txt

parser.add_argument('--output', default='output.txt', help='输出文件路径')
Copier après la connexion

如果没有在命令行指定--output参数,则将使用默认值。

2. 添加限制

可以为参数添加限制条件。例如,可以使用choices参数指定某个参数只能接受特定的值:

parser.add_argument('--mode', choices=['A', 'B', 'C'], help='运行模式')
Copier après la connexion

只有当--mode参数的值为ABC时,才会被接受。

3. 添加互斥参数

有时候,需要确保某些参数是互斥的。可以使用add_mutually_exclusive_group()方法创建一个互斥参数组。例如,要确保--input--output参数只能选择其中一个,可以这样做:

group = parser.add_mutually_exclusive_group()
group.add_argument('--input', help='输入文件路径')
group.add_argument('--output', help='输出文件路径')
Copier après la connexion

4. 添加子命令

有时候,可能希望为脚本添加多个子命令。可以使用subparsers来实现这一点。例如,假设希望脚本有一个run子命令和一个test子命令,可以这样做:

subparsers = parser.add_subparsers(dest='command')

run_parser = subparsers.add_parser('run', help='运行程序')
run_parser.add_argument('--input', help='输入文件路径')

test_parser = subparsers.add_parser('test', help='测试程序')
test_parser.add_argument('--input', help='输入文件路径')
Copier après la connexion

然后,在解析命令行参数后,可以根据args.command的值来确定使用哪个子命令。

示例代码

下面是一个示例代码,演示了上述提到的技巧和用法:

import argparse

def main(args):
    print('输入文件:', args.input_file)
    print('输出文件:', args.output)

    if args.input_files:
        print('输入文件列表:', args.input_files)

    if args.mode:
        print('运行模式:', args.mode)

    if args.command == 'run':
        print('运行程序')
    elif args.command == 'test':
        print('测试程序')

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='命令行参数解析示例')

    parser.add_argument('input_file', help='输入文件路径')
    parser.add_argument('--output', default='output.txt', help='输出文件路径')
    parser.add_argument('-o', '--output', help='输出文件路径')
    parser.add_argument('input_files', nargs='+', help='输入文件路径')
    parser.add_argument('--mode', choices=['A', 'B', 'C'], help='运行模式')

    subparsers = parser.add_subparsers(dest='command')

    run_parser = subparsers.add_parser('run', help='运行程序')
    run_parser.add_argument('--input', help='输入文件路径')

    test_parser = subparsers.add_parser('test', help='测试程序')
    test_parser.add_argument('--input', help='输入文件路径')

    args = parser.parse_args()
    main(args)
Copier après la connexion

以上是Conseils pratiques pour analyser les paramètres de ligne de commande Python的介绍和示例代码。argparse提供了一种灵活、强大的方式来解析命令行参数,并可以根据应用的需要进行定制。使用argparse

Utilisation de base

Tout d'abord, vous devez importer le module argparse : 🎜rrreee🎜Ensuite, vous pouvez créer un objet argparse.ArgumentParser pour analyser Paramètres de ligne de commande : 🎜rrreee🎜Le paramètre description est utilisé pour fournir une brève description à afficher dans le message d'aide. 🎜🎜Ensuite, vous pouvez ajouter différents arguments de ligne de commande à l'objet ArgumentParser. Par exemple, ajoutez un paramètre de position : 🎜rrreee🎜Cela crée un paramètre de position nommé input_file qui spécifie le chemin d'accès au fichier d'entrée. 🎜🎜Pour offrir plus de flexibilité, des paramètres facultatifs peuvent être ajoutés. Par exemple, ajoutez un paramètre --output pour spécifier le chemin d'accès au fichier de sortie : 🎜rrreee🎜Utilisez des formulaires de paramètres longs comme --output, ou des mots courts Form, tels que comme -o. Pour ajouter une forme courte d'un argument, vous pouvez ajouter -o à l'argument dest du paramètre : 🎜rrreee🎜 Ensuite, vous pouvez utiliser parse_args() code> La méthode analyse les arguments de la ligne de commande : 🎜rrreee🎜Les résultats de l'analyse seront enregistrés dans l'objet <code>args. Ces valeurs sont accessibles via les propriétés de l'objet : 🎜rrreee🎜Pour les paramètres de position, vous pouvez utiliser le paramètre nargs pour spécifier que plusieurs valeurs sont acceptées. Par exemple, pour accepter plusieurs chemins de fichiers d'entrée, vous pouvez utiliser nargs='+' : 🎜rrreee

Conseils pratiques

1 Ajouter des valeurs par défaut

🎜. Oui Fournissez des valeurs par défaut pour les paramètres. Par exemple, pour définir la valeur par défaut du paramètre --output sur output.txt : 🎜rrreee🎜Si --output n'est pas spécifié sur le paramètre de ligne de commande, la valeur par défaut sera utilisée. 🎜

2. Ajouter des restrictions

🎜Vous pouvez ajouter des restrictions aux paramètres. Par exemple, vous pouvez utiliser le paramètre choices pour spécifier qu'un paramètre ne peut accepter que des valeurs spécifiques : 🎜rrreee🎜Uniquement lorsque la valeur du paramètre --mode est A, B ou C seront acceptés. 🎜

3. Ajouter des paramètres mutuellement exclusifs

🎜Parfois, vous devez vous assurer que certains paramètres s'excluent mutuellement. Un groupe de paramètres mutuellement exclusifs peut être créé à l'aide de la méthode add_mutually_exclusive_group(). Par exemple, pour vous assurer qu'un seul des paramètres --input et --output peut être sélectionné, vous pouvez faire ceci : 🎜rrreee

4.

🎜Parfois, vous souhaiterez peut-être ajouter plusieurs sous-commandes à votre script. Ceci peut être réalisé en utilisant des sous-analyseurs. Par exemple, supposons que vous souhaitiez que votre script ait une sous-commande run et une sous-commande test, vous pouvez faire ceci : 🎜rrreee🎜 Ensuite, après avoir analysé les paramètres de ligne de commande, vous peut utiliser args.command détermine la sous-commande à utiliser. 🎜

Exemple de code

🎜Ce qui suit est un exemple de code qui démontre les techniques et l'utilisation mentionnées ci-dessus : 🎜rrreee🎜Ce qui précède est une introduction et un exemple de code pour les techniques pratiques d'analyse des paramètres de ligne de commande Python. argparse fournit un moyen flexible et puissant d'analyser les arguments de ligne de commande et peut être personnalisé en fonction des besoins de l'application. En utilisant argparse, vous pouvez facilement gérer divers paramètres de ligne de commande complexes et améliorer l'évolutivité et la facilité d'utilisation de vos scripts. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment utiliser la belle soupe pour analyser HTML? Comment utiliser la belle soupe pour analyser HTML? Mar 10, 2025 pm 06:54 PM

Cet article explique comment utiliser la belle soupe, une bibliothèque Python, pour analyser HTML. Il détaille des méthodes courantes comme find (), find_all (), select () et get_text () pour l'extraction des données, la gestion de diverses structures et erreurs HTML et alternatives (Sel

Modules mathématiques en python: statistiques Modules mathématiques en python: statistiques Mar 09, 2025 am 11:40 AM

Le module statistique de Python fournit de puissantes capacités d'analyse statistique de données pour nous aider à comprendre rapidement les caractéristiques globales des données, telles que la biostatistique et l'analyse commerciale. Au lieu de regarder les points de données un par un, regardez simplement des statistiques telles que la moyenne ou la variance pour découvrir les tendances et les fonctionnalités des données d'origine qui peuvent être ignorées et comparer les grands ensembles de données plus facilement et efficacement. Ce tutoriel expliquera comment calculer la moyenne et mesurer le degré de dispersion de l'ensemble de données. Sauf indication contraire, toutes les fonctions de ce module prennent en charge le calcul de la fonction moyenne () au lieu de simplement additionner la moyenne. Les nombres de points flottants peuvent également être utilisés. Importer au hasard Statistiques d'importation de fracTI

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Mar 10, 2025 pm 06:52 PM

Cet article compare TensorFlow et Pytorch pour l'apprentissage en profondeur. Il détaille les étapes impliquées: préparation des données, construction de modèles, formation, évaluation et déploiement. Différences clés entre les cadres, en particulier en ce qui concerne le raisin informatique

Quelles sont les bibliothèques Python populaires et leurs utilisations? Quelles sont les bibliothèques Python populaires et leurs utilisations? Mar 21, 2025 pm 06:46 PM

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Comment créer des interfaces de ligne de commande (CLI) avec Python? Comment créer des interfaces de ligne de commande (CLI) avec Python? Mar 10, 2025 pm 06:48 PM

Cet article guide les développeurs Python sur la construction d'interfaces de ligne de commande (CLI). Il détaille à l'aide de bibliothèques comme Typer, Click et Argparse, mettant l'accent sur la gestion des entrées / sorties et promouvant des modèles de conception conviviaux pour une meilleure convivialité par la CLI.

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Expliquez le but des environnements virtuels dans Python. Expliquez le but des environnements virtuels dans Python. Mar 19, 2025 pm 02:27 PM

L'article traite du rôle des environnements virtuels dans Python, en se concentrant sur la gestion des dépendances du projet et l'évitement des conflits. Il détaille leur création, leur activation et leurs avantages pour améliorer la gestion de projet et réduire les problèmes de dépendance.

See all articles