我有一个函数来创建和写一些信息到.txt文件。我必须这样写:
11:13, Andrej Hlavac, Zdenka Sedlak
但相反,我得到了:
11:13, Andrej Hlavac, Zdenka Sedlak,
写入此输出的函数是:
def write_assignments_file(assignments, header, file_name):
header[1]=str(dateTime.date(header[3],header[1],5))
header='\n'.join(header)
timetable=open(file_name,'w')
timetable.write(str(header)+'\n')
timetable.write('Timetable:'+'\n')
for i in range(len(assignments)):
for re in assignments[i]:
timetable.write(str(re)+', ')
timetable.write('\n')
timetable.close()
答案 0 :(得分:3)
您当前的代码会在每个元素后添加', '
,所以当然最后会有一个元素。 str.join(sep, it)
方法仅将sep
字符串置于 it
的每个元素之间。
所以替换
for re in assignments[i]:
timetable.write(str(re)+', ')
与
timetable.write(', '.join(map(str, assignments[i])))
为了记录,永远不要
for i in range(len(assignments)):
do_something(assignments[i])
代替
for assignment in assignments:
timetable.write(', '.join(map(str, assignment)))
如果您需要assignments
的索引,请使用enumerate
。