-2

私には機能があります。文字列を出力します。これらの文字列をリストに集めるにはどうすればよいですか?

すなわち

def FUN(a):
...
    print(somestrings)
4

2 に答える 2

0
x = list()

x.append(strings1)  # use a loop of some sort to append your strings
x.append(strings2)
. 
.
.
x.append(stringsN)

return x
于 2013-10-30T20:24:27.670 に答える
0

一時的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']
于 2013-10-30T21:14:44.347 に答える