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