2014-09-11 67 views
0

print(reprt('Hello\nHello'))將打印b'Hello\nHello',我想它打印如何獲得打印格式化其輸出在python中?

Hello 
Hello 

代替。原因是有些功能如subprocess.check_output發送了repr輸出。

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

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

你是在錯誤的軌道上。 1)爲什麼明確調用bash,如果你想要一個shell,只需使用shell = True。 2)爲什麼要使用shell?你可以直接調用'ls'。 3)爲什麼使用ls?你可以使用os.listdir()來列出目錄中的文件。 4)沒有命令「發送repr輸出」,你對你所看到的感到困惑。顯示您正在運行的實際命令以及您看到的實際輸出。 – 2014-09-12 11:13:16

回答

-1

然後不使用再版只需要使用

print("hello\nhello") 

演示

tracing.py

print("hello\nhello") 

otherscript.py

import subprocess 

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

輸出

hello 
hello 
+0

我會引用自己的話:「原因是一些函數,如subprocess.check_output發送repr輸出。」 – Wicelo 2014-09-11 08:36:55

+0

@Wicelo你可以在這裏使用check_output – 2014-09-11 08:37:38

+0

'params = r'「C:\ cygwin64 \ bin \ bash.exe」--login -c'+ r「」「'ls」C:\ Users「 ''「」「 print(subprocess.check_output(params,shell = True))' – Wicelo 2014-09-11 08:38:44

-1

你可以試試這個:

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