Table des matières
Utilisation sys.argv pour un accès d'argument simple
Utilisation argparse pour des interfaces de ligne de commande robustes
Gérer les arguments multiples ou facultatifs
Résumé
Maison développement back-end Tutoriel Python Comment transmettre des arguments en ligne de commande à un script de Python

Comment transmettre des arguments en ligne de commande à un script de Python

Aug 20, 2025 pm 01:50 PM
python Paramètres de ligne de commande

Utilisez SYS.Argv pour un accès d'arguments simples, où les arguments sont gérés manuellement et aucune validation ou aide automatique n'est fournie. 2. Utilisez ArgParse pour des interfaces robustes, car elle prend en charge l'aide automatique, la vérification de type, les arguments facultatifs et les valeurs par défaut. 3. ArgParse est recommandé pour des scripts complexes nécessitant une manipulation des entrées conviviale, tandis que SYS.Argv convient à des scripts minimaux rapides. Valider toujours les entrées et fournir des messages d'erreur clairs pour assurer une exécution fiable.

Comment transmettre des arguments en ligne de commande à un script de Python

Vous pouvez transmettre des arguments en ligne de commande à un script Python en utilisant le module sys intégré ou le module argparse plus puissant. Voici comment fonctionne chaque méthode et quand les utiliser.

Utilisation sys.argv pour un accès d'argument simple

La liste sys.argv contient tous les arguments de ligne de commande transmis au script. Le premier élément ( sys.argv[0] ) est le nom du script, et les autres sont les arguments.

Exemple:

 # script.py
importer sys

Si Len (Sys.argv) <2:
    print ("usage: python script.py <name>")
autre:
    name = sys.argv [1]
    print (f "Bonjour, {nom}!")

Exécutez-le à partir du terminal:

 python script.py Alice

Sortir:

 Bonjour, Alice!
  • sys.argv est simple et fonctionne bien pour les scripts de base avec un ou deux arguments.
  • Pas d'aide automatique ou de validation de type - vous devez tout gérer manuellement.
  • Bon pour les scripts rapides ou lorsque vous voulez des frais généraux minimes.

Utilisation argparse pour des interfaces de ligne de commande robustes

Pour les scripts plus complexes, argparse est le choix standard. Il fournit des messages d'aide automatique, la validation des arguments, la vérification des types et la prise en charge des arguments facultatifs et positionnels.

Exemple:

 # script.py
Importer Argparse

analyser = argparse.argumentParser (description = "saluer quelqu&#39;un.")
parser.add_argument ("nom", help = "nom de la personne à saluer")
parser.add_argument ("- salutation", "-g", default = "Bonjour", help = "Word de salutation personnalisé")

args = parser.parse_args ()

print (f "{args.greeting}, {args.name}!")

Exécutez-le:

 python script.py bob --greeting hi

Sortir:

 Salut, Bob!

Ou avec le drapeau court:

 python script.py Charlie -g salut

Sortir:

 Salut, Charlie!

Caractéristiques clés d' argparse :

  • Génère automatiquement de l'aide avec --help ou -h .
  • Prend en charge les arguments facultatifs (avec -- ou - ) et les arguments positionnels.
  • Peut appliquer les types d'arguments (par exemple, type=int ) et les choix (par exemple, choices=[&#39;small&#39;, &#39;large&#39;] ).
  • Gère facilement les valeurs par défaut et les arguments requis.

Gérer les arguments multiples ou facultatifs

Vous pouvez également accepter plusieurs valeurs ou faire des arguments facultatifs:

 parser.add_argument ("noms", nargs = "", help = "un ou plusieurs noms à saluer")
parser.add_argument ("- verbose", action = "store_true", help = "activer la sortie verbose")

Avec nargs=" " , vous pouvez passer plusieurs noms:

 python script.py Alice Bob Charlie --verbose

Dans le script:

 Si Args.verbose:
    imprimer ("Démarrer le script de salutation ...")
pour le nom dans Args.Names:
    print (f "Bonjour, {nom}!")

Cela vous donne une interface propre et conviviale.

Résumé

  • Utilisez sys.argv pour des scripts simples où il vous suffit de lire rapidement quelques arguments.
  • Utilisez argparse lorsque vous souhaitez un comportement de ligne de commande professionnelle, aidez le texte, tapez la sécurité ou les drapeaux facultatifs.
  • Valider toujours l'entrée et fournir des messages d'erreur clairs si les arguments sont manquants ou non valides.

Fondamentalement, pour tout ce qui est au-delà d'un script unique, argparse vaut le petit coût d'installation.

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Aug 21, 2025 am 04:12 AM

ClassMethodsinpyThonareBoundTotheclassandNottoiNstances, permettant à ce que

Exemple de file d'attente Python Asyncio Exemple de file d'attente Python Asyncio Aug 21, 2025 am 02:13 AM

Asyncio.Queue est un outil de file d'attente pour une communication sécurisée entre les tâches asynchrones. 1. Le producteur ajoute des données via AwaitQueue.put (élément), et le consommateur utilise AwaitQueue.get () pour obtenir des données; 2. Pour chaque élément que vous traitez, vous devez appeler la file d'attente.task_done () pour attendre que la queue.join () termine toutes les tâches; 3. Utilisez aucun comme signal final pour informer le consommateur de s'arrêter; 4. Lorsque plusieurs consommateurs, plusieurs signaux finaux doivent être envoyés ou toutes les tâches ont été traitées avant d'annuler la tâche; 5. La file d'attente prend en charge la définition de la capacité limite maxsize, les opérations de put et d'obtenir automatiquement la suspension et ne bloquent pas la boucle d'événement, et le programme passe enfin CANC

Comment déboguer une application Python distante dans VSCODE Comment déboguer une application Python distante dans VSCODE Aug 30, 2025 am 06:17 AM

Pour déboguer une application Python distante, vous devez utiliser Debugpy et configurer le transfert de port et le mappage de chemin: Tout d'abord, installez Debugpy sur la machine distante et modifiez le code pour écouter le port 5678, transférez le port distant vers la zone locale via le tunnel SSH, puis configurez correctement les mappages de chemins locaux et de remotoot. Enfin, démarrez l'application et connectez-vous au débogueur pour réaliser le débogage de points d'arrêt distant, la vérification des variables et le pas de code. L'ensemble du processus dépend de Debugpy, de la transfert de port sécurisée et de la correspondance précise du chemin.

Comment utiliser des expressions régulières avec le module RE dans Python? Comment utiliser des expressions régulières avec le module RE dans Python? Aug 22, 2025 am 07:07 AM

Des expressions régulières sont implémentées dans Python via le module RE pour la recherche, la correspondance et la manipulation des chaînes. 1. Utilisez re.search () pour trouver la première correspondance de toute la chaîne, re.match () ne correspond qu'au début de la chaîne; 2. Utilisez des supports () pour capturer les sous-groupes correspondants, qui peuvent être nommés pour améliorer la lisibilité; 3. Re.findall () renvoie toutes les correspondances non chevauchantes, et re.finditer () renvoie l'itérateur de l'objet correspondant; 4. Re.sub () remplace le texte correspondant et prend en charge le remplacement de la fonction dynamique; 5. Les modèles communs incluent \ d, \ w, \ s, etc., vous pouvez utiliser re.ignorecase, re.multiline, re.dotall, re.

Comment construire et exécuter Python dans un texte sublime? Comment construire et exécuter Python dans un texte sublime? Aug 22, 2025 pm 03:37 PM

EnsurePythonisinstalledbyrunningpython--versionorpython3--versionintheterminal;ifnotinstalled,downloadfrompython.organdaddtoPATH.2.InSublimeText,gotoTools>BuildSystem>NewBuildSystem,replacecontentwith{"cmd":["python","-

Comment transmettre des arguments en ligne de commande à un script de Python Comment transmettre des arguments en ligne de commande à un script de Python Aug 20, 2025 pm 01:50 PM

Usysys.argvforsImpleargumentAccess, alors que les anciens ontténomadés et le NOAutomaticalidationorhelpisprovide

Comment utiliser des variables et des types de données dans Python Comment utiliser des variables et des types de données dans Python Aug 20, 2025 am 02:07 AM

VariablesinPythonarecreatedbyassigningavalueusingthe=operator,anddatatypessuchasint,float,str,bool,andNoneTypedefinethekindofdatabeingstored,withPythonbeingdynamicallytypedsotypecheckingoccursatruntimeusingtype(),andwhilevariablescanbereassignedtodif

Comment exécuter Python dans la console de texte sublime? Comment exécuter Python dans la console de texte sublime? Aug 22, 2025 pm 03:55 PM

Pour exécuter les scripts Python, vous devez configurer le système de construction de SublimeText: 1. Assurez-vous que Python est installé et disponible sur la ligne de commande; 2. Créez un nouveau système de construction dans sublimeText, entrez {"cmd": ["python", "- u", "$ file"], "file_regex": "^ [] file \" (...?) \ ", Line ([0-9] *)", "Selector": & qu

See all articles