2017-09-21 9 views

答えて

1

これを行うには、StringIOを使用し、標準出力を文字列として取り込みます。

from io import StringIO 
import sys 
old_out = sys.stdout # Store stdout to a temp 
result = StringIO() # Will capture standard output as string 
sys.stdout = result # assign result to sys.stdout 
args = [1, 2, 3, 4] 
kwargs = {'sep':'<='} 
print (*args, **kwargs) # This will be written to result, Not displayed in stdout 
sys.stdout = old_out # restore stdout to make things normal 
res = result.getvalue() 
print ("result: {}, length: {}".format(res, len(res))) 

stdoutを復元するまで、標準出力に送信されるものはすべて結果変数に取り込まれます。

関連する問題