我试图在Python 3中将列表添加到现有的.txt文件中。目前我有以下代码:
def function(list, new_add):
with open("file.txt", new_add) as file:
for item in list:
file.write("{}\t".format(item))
add_grade(list, "w")
我创建了一个列表:
list = [string1, integer1a, integer1b]
可以正常创建新的txt文件。但如果我更换" w"与" a"我没有得到目的输出。我现在的问题是,如何在新行中将列表的新组件添加到文件中?如果我尝试添加新变量,我的当前输出看起来像这样:
string1 integer1a integer1b string2 integer2a integer2a
我希望以下显示:
string1 integer1a integer1b
string2 integer2a integer2a
...
如何在插入每个列表后添加新行?
答案 0 :(得分:2)
您可以使用Python 3 print()
函数轻松完成此操作,只需使用sep
和file
参数指定分隔符和文件,print()
即可你的详细信息:
def function(iterable, filename, new_add):
with open(filename, new_add) as file:
print(*iterable, sep='\t', file=file)
请注意,我将list
参数重命名为iterable
,因为使用list
会影响内置的list
类,并且该函数应该适用于任何可迭代的。
如果您将以下内容添加到文件顶部,则此代码也适用于Python 2:
from __future__ import print_function
答案 1 :(得分:1)
这应该可行,你应该在文件
中写下你的名单之后调用换行符def add_grade(list, new_add):
with open("file.txt", new_add) as file:
for item in list:
file.write("{}\t".format(item))
file.write("\n")
add_grade(list, "w")