2017-06-07 4 views
0

quand je lance (par exemple)"shell" python SOLVED pas imprimer la valeur de retour 0 après chaque ligne

print("Hello") 

exécuté avec succès l'interprète montre

Hello 

des thats parfait, mais ...

from subprocess import call 
ls = 'ls' 
call(ls) 

impressions

file1 file2 file3 
0 

im devinant que le 0 est la valeur de retour en disant qu'il était Successfull (encore très nouveau à la programmation :))

soooo ..... ma question est de savoir comment se débarrasser de 0 pour que je ne obtenir le résultat de cela, avec cet exemple et d'autres aussi bien?

lol im probablement plus regarder quelque chose de simple ici

toute aide est grandement aprécié !!! :)

EDIT: quelque chose comme

@echo off 

dans les fenêtres des scripts de traitement par lots seraient préférions (donc je peux l'utiliser une fois l'ignorer)

+0

Vous savez déjà sur [le module 'subprocess'] (https: // docs .python.org/3/library/subprocess.html). Regardez autour de la référence, il y a beaucoup d'autres fonctions qui peuvent être utilisées pour exécuter des commandes externes, et qui peuvent capturer la sortie de la commande. Je recommande une recherche pour 'Popen'. –

+0

Et si vous ne voulez pas que l'interpréteur produise le zéro, attribuez-le simplement à une variable fictive? –

Répondre

0

Si vous utilisez python 2x: Vous pouvez utiliser le module de commandes pour obtenir la sortie de la commande.

import commands 
commands.getoutput("ls") 

si vous utilisez 3x python:

import subprocess 
subprocess.getoutput("ls") 
+0

après avoir importé getoutput du sous-processus j'ai essayé ls = ['ls', '- I', '__ init __. Py', '- I', '__ pycache__'] getoutput (ls) – Josh

+0

lol sry enter l'enregistre ne va pas à ligne suivante – Josh

+0

entrez la commande directement dans getoutput comme dans 'getoutput (" ls -l init.py ")' –

0

Vous pouvez utiliser les éléments suivants:

import subprocess 
subprocess.check_output('ls') 
# subprocess.check_output('ls', shell=True)