2014-09-11 4 views
0

print(reprt('Hello\nHello')) imprimera b'Hello\nHello' et je voudrais à imprimerComment obtenir une impression pour formater sa sortie en python?

Hello 
Hello 

à la place. La raison en est que certaines fonctions telles que subprocess.check_output envoient une sortie repr.

params = r'"C:\cygwin64\bin\bash.exe" --login -c ' + r"""'ls "C:\Users"'""" 

print(subprocess.check_output(params, shell=True)) 
+0

Vous êtes sur la mauvaise voie. 1) pourquoi invoquer bash explicitement, si vous voulez un shell, utilisez simplement shell = True. 2) pourquoi utiliser une coquille? Vous pouvez appeler 'ls' directement. 3) Pourquoi utiliser ls? vous pouvez utiliser os.listdir() pour lister les fichiers dans un répertoire. 4) Aucune commande "envoyer une sortie de repr", vous êtes confus au sujet de ce que vous voyez. Montrez la commande actuelle que vous exécutez et la sortie réelle que vous voyez. –

Répondre

-1

alors ne utilisation rééd il suffit d'utiliser

print("hello\nhello") 

Démo

tracing.py

print("hello\nhello") 

otherscript.py

import subprocess 

print subprocess.check_output('python tracing.py') 

sortie

hello 
hello 
+0

Je vais citer moi-même: "La raison en est que certaines fonctions telles que subprocess.check_output envoient une sortie repr." – Wicelo

+0

@Wicelo pouvez-vous donner un exemple d'une telle condition ici en utilisant check_output –

+0

'params = r '" C: \ cygwin64 \ bin \ bash.exe "--login -c' + r" "" 'ls "C: \ Utilisateurs" '"" " impression (subprocess.check_output (params, shell = True))' – Wicelo

-1

vous pouvez essayer ceci:

>>> eval(repr("Hello")) 
'Hello' 
Questions connexes