F-Strings 并将函数输出写入 python3 中的文件

F-Strings and writing function output to file in python3

我只想将函数的输出写入文件,但是 returns 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.

确保该函数实际上 returns 某些东西(没有显式 returns、returns None 的函数) , print 语句只是出现在控制台上,不会作为函数的输出进行处理。试试这个,使用列表理解:

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

现在是写作部分。好吧,事实证明你实际上不需要调用函数(你打算用函数做什么?),只需编写文本:

f.write(text)