2
在Java中,我可以讀取標準輸出爲使用讀蟒蛇標準輸出爲字符串
ByteArrayOutputStream stdout = new ByteArrayOutputStream();
System.setOut(new PrintStream(stdout));
String toUse = stdout.toString();
/**
* do all my fancy stuff with string `toUse` here
*/
//Now that I am done, set it back to the console
System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));
是否有人可以告訴我在Python這樣的等效方式的字符串?我知道這個問題的不同口味已被問過很多次,如Python: Closing a for loop by reading stdout和How to get stdout into a string (Python)。但我有一種感覺,我不需要導入子進程來獲得我需要的東西,因爲我需要的比這更簡單。我在eclipse上使用pydev,而且我的程序非常簡單。
我已經嘗試過
from sys import stdout
def findHello():
print "hello world"
myString = stdout
y = 9 if "ell" in myString else 13
但似乎並不奏效。我得到一些關於打開文件的compaints。