Python中f.write换行实现报错:参数数量不符的解决咨询
解决Python文件写入换行的TypeError问题
问题重现
你编写的代码:
f.write('', message_variable_from_previous_input, '\n')
运行后触发错误:
Traceback (most recent call last): File "c:\Users\User1\OneDrive\Desktop\coding\folder_namr\file_name.py", line 5, in <module> f.write('',msg,'\n') TypeError: TextIOWrapper.write() takes exactly one argument (3 given)
原因
file.write()方法仅接受单个字符串参数,你传入了3个独立参数(空字符串、变量、换行符),不符合方法的参数要求,因此抛出TypeError。
解决方法
以下几种方式都能实现“写入内容并换行”的需求:
字符串拼接:把变量和换行符合并成一个字符串后传入
f.write(message_variable_from_previous_input + '\n')注意:如果变量不是字符串类型,需要先转成字符串,比如
str(message_variable_from_previous_input) + '\n'f-string格式化:语法更简洁,可读性更强
f.write(f"{message_variable_from_previous_input}\n")这种方式会自动处理非字符串类型的变量转换
使用print函数替代:print默认会在输出末尾添加换行符,指定
file参数即可写入文件print(message_variable_from_previous_input, file=f)如果不想自动加换行,可以添加
end=''参数自定义结尾
内容的提问来源于stack exchange,提问作者user18465514
相关产品推荐
相关产品推荐

