F字符串并将函数输出写入python3中的文件

时间:2019-02-01 15:34:02

标签: python-3.x function file-writing

我想简单地将函数的输出写入文件,但是它返回None。该函数本身运行良好,仅打印语句。

#I have reproduced the issue with minimum LOC:
def syl(txt):
    for x in text:
        print(x)

text = 'example text'
file = 'example'

with open(F"""SYL_{file}""",'a+',encoding='UTF8') as f:
   f.write(F'''{syl(text)}''')
   content = f.readlines()
   print(content)

打印'[]'

F'''{syl(text)}'''" #it returns only 'None'.

我也尝试过:

with open(F"""SYL_{file}""",'a+',encoding='UTF8') as f:
   f.write(syl(text)) #str(syl(text)) Doesnt work too, writelines() also changes nothing.

1 个答案:

答案 0 :(得分:0)

确保该函数实际上是返回的东西(一个没有显式返回的函数,返回None),print语句仅出现在控制台上并且不会作为输出处理功能的尝试使用列表理解:

def syl(txt):
    # returns a list of the chars in txt
    return [x for x in txt]

现在是写作部分。好吧,事实证明,您实际上不需要调用函数(您打算对函数进行什么操作?),只需编写以下文本即可:

f.write(text)