这里是 Python 新手,运行 2.7。
我正在尝试创建一个程序,该程序使用一个函数生成文本,然后将函数生成的文本输出到一个文件中。
我在 Python 中打印函数没有问题
我在输出手动输入的文本时没有问题:(像这样)http://codepad.org/JrcUTZfC
但是当我尝试输出函数生成的文本时,它不起作用:http://codepad.org/Wyj5Li8Y
我通常会遇到“字符缓冲区”错误。
请让我知道我需要做哪些不同的事情。
最佳答案
您可能希望从函数返回字符串而不是打印它们。像这样:
def fn(a,b,c):
return "Template string {0} {1} {2}".format(a,b,c)
至于迭代/串联部分,这应该可以满足您的需要。请注意,换行符 ('\n') 需要显式添加,如果您使用的是打印,则不会出现这种情况。
def iter_cat(a,b):
x = ""
while a < b:
x += 'This is string {0}, {1}\n'.format(a,b) # x gets previous x with "This.." appended
a += 1
return x
谢谢。
关于Python 初学者 : outputting function-generated text to file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765105/