J'ai une ligne dont on ressemble à: p>
On dirait que cela ne fonctionne pas comme ceci car les paramètres doivent être divisés? P>
Comment diviser la chaîne en paralètres et transmettez-la au script Python? P> Command.list code> Fichier avec les paramètres de commande pour mon script Python
my_script.py code> qui ont 3 paramètres. P>
commandement de chat.list | xargs -i {} python3 my_script.py {} code> p>
3 Réponses :
Pas sûr, qu'est-ce que vous essayez de faire avec xargs -i {} python3 my_script.py {} code> là.
Mais cherchez-vous,
$ cat file
<path1> <path2> -sc 4
....
<path1n> <path2n> -sc 4
$ while read -r path1 path2 unwanted unwanted; do python3 my_script.py "$path2" ; done<file
Oui, ça marche: pendant la lecture -r Path1 Path2; do python3 show_mouth_landmarks.py $ path1 $ path2 -Sc 4; fait
La documentation de -I Remplacer-str> Ce que vous voulez est P> -i code> de
man xargs code>
Remplacez les occurrences de remplacement-Str dans les arguments initiaux avec les noms lus à partir de l'entrée standard. En outre, xargs -a command.list -L1 python3 my_script.py
Pourquoi l'option -x code> est-elle nécessaire?
@mrglomoom mon mauvais, ce n'est pas nécessaire. -l code> active automatiquement
-x code>. Même si ce n'est pas que vous n'en auriez probablement pas besoin. C'est une sauvegarde à avorter et à avertir dans les cas où toutes les options de la ligne actuelle ne peuvent être utilisées dans un appel en raison de la limite
arg_max code>. Par exemple dans
SEQ -S '' 9999999 | XARGS -XL1 ECHO CODE> Vous obtenez un avertissement qu'il existe trop d'arguments dans une ligne pour s'intégrer à un seul appel.
Qu'en est-il de commandement de chat.list | xargs -l 1 python3 my_script.py code>? Cela passera une ligne (
-l 1 code>) à la fois de votre script. P>