Comment faire pour que le liner suivant imprime tous les fichiers via Python? Spécifiquement, aimerait savoir comment canaliser dans un python -c. Les réponses DOS ou Cygwin sont acceptées.Python one-liner pour imprimer tous les fichiers du répertoire en cours
Répondre
Y Vous pouvez lire les données pipées dans un script Python en lisant sys.stdin. Par exemple:
ls -al | python -c "import sys; print sys.stdin.readlines()"
Il n'est pas tout à fait clair ce que vous voulez faire (peut-être que je suis stupide). La confusion vient de votre exemple qui transporte les données d'un script python.
python -c "import os; print os.listdir('.')"
Si vous souhaitez appliquer une mise en forme comme vous avez dans votre question,
python -c "import os; print '\n'.join(['>>%s' % x for x in os.listdir('.')])"
Si vous souhaitez utiliser un tuyau, utilisez xargs
:
ls | xargs python -c "import sys; print '>>', sys.argv[1:]"
ou contre-apostrophes:
python -c "import sys; print '>>', sys.argv[1:]" `ls`
Merci, aimerait savoir comment canaliser. – Luis
Si vous souhaitez imprimer tous fichiers:
find . -type f
Si vous souhaitez imprimer uniquement les fichiers de répertoire en cours
find . -type f -maxdepth 1
Si vous souhaitez inclure le « >> » avant chaque ligne
find . -type f -maxdepth 1 | xargs -L 1 echo ">>"
Si vous ne voulez pas l'espace entre "> > "et $ path from echo
find . -type f -maxdepth 1 | xargs -L 1 printf ">>%s\n"
Tout ceci est bien sûr en utilisant cygwin.
+1 - python est sympa (je suis un fan), mais parfois il y a des outils juste pour faire le boulot :-) –
aimerait savoir comment tuyau si
Vous avez eu le tuyau dans le mauvais sens, si vous voulez nourrir la sortie de 'dir' en Python, 'dir' devrait être sur la gauche. par exemple .:
dir "*.*" | python -c "import sys;[sys.stdout.write('>>%s\n' % line) for line in sys.stdin]"
(Le hack avec la compréhension de la liste est parce que vous n'êtes pas autorisé un bloc-introduction « pour » déclaration sur une ligne après un point-virgule.)
Il est clair que la solution Python natif ('os.listdir') est beaucoup mieux en pratique.
Plus précisément voudrais savoir comment pipe dans un python -c
voir cobbal's answer
tuyauterie à travers un programme est transparent du point de vue du programme, tout le programme sait est que il reçoit l'entrée du flux d'entrée standard
En général, une commande shell de la forme
A | B
redirige la sortie de A soit l'entrée B
Ainsi, si un crache « asdf » sortie standard, puis B devient « asdf » dans son entrée standard
le flux d'entrée standard en python est sys.stdin
- 1. Définir les fichiers à la propriété du répertoire en cours en Python
- 2. Commande pour compresser tous les fichiers/dossiers sous un répertoire
- 3. Répertoire du programme en cours sous Linux?
- 4. Comment puis-je lister tous les fichiers tga dans un répertoire (non récursif) en Python?
- 5. Comment imprimer les noms des fichiers en cours de traitement dans un Perl One-Liner?
- 6. preg_match_all imprimer * tous les * matchs
- 7. Comment déplacer tous les fichiers mp3 dans un seul répertoire?
- 8. Liste des fichiers dans un répertoire du fichier JAR en cours
- 9. J'ai besoin d'un script PowerShell qui copie les fichiers du répertoire en cours d'exécution du script vers un autre emplacement.
- 10. Existe-t-il un moyen d'obtenir tous les répertoires mais pas les fichiers dans un répertoire en Python?
- 11. Obtenir une liste de tous les fichiers dans un répertoire
- 12. Comment inclure tous les fichiers d'un répertoire avec cmake?
- 13. Python en boucle pour lire et analyser tous dans un répertoire
- 14. LINUX: Lien tous les fichiers d'un répertoire à un autre
- 15. source tous les fichiers dans un répertoire de .bash_profile
- 16. Supprimer tous les fichiers dans un répertoire vb6
- 17. en utilisant ensript pour imprimer le projet
- 18. Obtention d'une liste de tous les modules du package en cours
- 19. Comment puis-je imprimer uniquement tous les trois index en Perl ou Python?
- 20. scripts Windows pour commande pour renommer tous les fichiers dans un répertoire
- 21. cours de décorateur en Python
- 22. Qu'est-ce qui provoquerait le changement du répertoire en cours d'une application en cours d'exécution?
- 23. Saisir tous les 4 fichiers
- 24. Répertoire pour stocker les fichiers mis en cache dans Rails?
- 25. Liste les fichiers récursivement dans Linux CLI avec le chemin relatif au répertoire en cours
- 26. Cron Job - Commande pour supprimer tous les fichiers .flv tous les jours
- 27. Réécriture du sous-répertoire | Inclure tous les éléments relatifs
- 28. Somme de contrôle du répertoire avec python?
- 29. Récupérer tous les cookies en Python
- 30. Comment télécharger via FTP tous les fichiers avec une date en cours dans leur nom?
On dirait qu'il y aurait une meilleure façon de le faire que d'utiliser Python ... –
ce n'est pas vraiment sur le paquebot !!! à moins de suivre une définition très laaaaax d'une ligne de code, où les lignes vides sont comptées aussi! – hasen
qu'est-ce que vous essayez de faire exactement ?? dir *. * les liste déjà tous, alors à quoi ça sert? – hasen