私には機能があります。文字列を出力します。これらの文字列をリストに集めるにはどうすればよいですか?
すなわち
def FUN(a):
...
print(somestrings)
私には機能があります。文字列を出力します。これらの文字列をリストに集めるにはどうすればよいですか?
すなわち
def FUN(a):
...
print(somestrings)
x = list()
x.append(strings1) # use a loop of some sort to append your strings
x.append(strings2)
.
.
.
x.append(stringsN)
return x
一時的sys.stdout
にカスタム クラスに変更できます。
import sys
def fun(a,b):
print(a)
print(b)
class Catcher:
def __init__(self):
self.res = []
self.stdout = sys.stdout
sys.stdout = self
def write(self, chars):
self.res.append(chars)
def call(self, fun, *args, **kwargs):
fun(*args, **kwargs)
sys.stdout = self.stdout
return self.res
print(Catcher().call(fun, "hello", b="world!"))
=> ['hello', '\n', 'world!', '\n']