0
votes

Comment définir une chaîne en exécutant le code?

Alors j'essaye de faire une application de console simple avec Python, mais j'ai un problème. J'essaie de faire une nouvelle commande "écriture". Cette commande imprimera un texte.

Exemple: xxx

mais je ne sais pas comment faire cela. Ici, la commande dans mon code: xxx

C'est une ennuyeuse et j'ai besoin de l'aide pour résoudre ce


2 commentaires

Quelle est la valeur de w ?


Le w est l'entrée.


4 Réponses :


0
votes

Utilisez la liste sys.argv [] code>. C'est plus facile et striaire:

sys.argv code> est une liste code> dans python, contenant les arguments de ligne de commande passés au script. P>

Payer attentat sys.argv [0] code> est le nom du script lui-même! p>

donc la manière EasieEeSet de le faire est de la liste intégrée sys.argv . Par exemple, si mon script est appelé: foo.py code>, je peux transmettre des arguments informatiques via une ligne de commande comme: p>

python foo.py écrire bonjour et dans FOO.PY ICAN Obtenez l'argument passé comme SO: P>

import sys

if __name__ == '__main__':
    for arg in sys.argv[1:]:
        #do work with arg! arg is a string type!
        if argv[1]=='write':
            print(argv[2]) 


0 commentaires

0
votes

Utiliser entrée () code> pour accepter l'entrée utilisateur sur le clavier et divisé () code> pour séparer l'entrée en sections:

command = input("Enter a command >")
parts = command.split(maxsplit=1)
if parts[0] == "write":
    if len(parts) > 1:
        print(parts[1])
    else:
        print("you did not enter any words to write")
else:
    print("unknown command")


0 commentaires

2
votes

Vous pouvez utiliser une boucle tandis que:

> write hello
hello
> write bye bye
bye bye
> hey hi
> help please!
> write Help please!
Help please!
> 


2 commentaires

Cela fonctionne, tant qu'il n'y a pas de blouse dans la chaîne qui devrait être imprimée.


Tu as raison. Ma faute! Je pense que cette solution devrait être la réponse acceptée. En fait, votre réponse est géniale! J'ai appris quelque chose de nouveau! Jamais le savait, je pourrais ajouter un paramètre à scinder :) Merci beaucoup!



0
votes

supposer que vous voulez écrire une application qui ne prend pas la commande comme Paramètres sur l'appelant (comme suggéré en réponse ci-dessus), mais vous exécutez le programme et dans une boucle Vérifiez la saisie de l'utilisateur, vous pouvez le faire de la manière suivante: XXX

L'expression régulière (? <= écrire) \ s +. * retourne chaque chaîne arbitraire précédée de écrire . Pour prendre plusieurs commandes, vous pouvez envelopper cela dans une boucle et ajouter d'autres motifs pour d'autres commandes.


0 commentaires