在python中的fileoutput.writelines()中使用if-else
我想在使用writelines()时使用if和else命令,下面是我的代码在python中的fileoutput.writelines()中使用if-else,python,python-3.x,Python,Python 3.x,我想在使用writelines()时使用if和else命令,下面是我的代码 mylist=[7,4,3,6,7,8] fileoutput=open('data.txt','w') fileoutput.writelines("%s\t" % mylist[place] for place in range(6) if place !=5 else "%s\n" % mylist[place] ) fileoutput.close() 但是出现了一个Sy
mylist=[7,4,3,6,7,8]
fileoutput=open('data.txt','w')
fileoutput.writelines("%s\t" % mylist[place] for place in range(6) if place !=5 else "%s\n" % mylist[place] )
fileoutput.close()
但是出现了一个SyntaxError(SyntaxError:无效语法)。
谢谢你的帮助
list
,就像内置类型list
fileoutput.open()
,但fileoutput
不存在。相反,您要做的是fileoutput=open('data.txt','w')
if-else
语句的顺序是错误的。它应该是%s\t”%mylist[place],如果是place=5其他“%s\n”%mylist[place]用于范围(6)中的位置
mylist=[7,4,3,6,7,8]
fileoutput = open('data.txt','w')
fileoutput.writelines("%s\t" % mylist[place] if place !=5 else "%s\n" % mylist[place] for place in range(6))
fileoutput.close()
data.txt
中的输出为:
7 4 3 6 7 8
结尾有一个换行符。你不应该调用你的变量列表,因为这也是内置类型
list
@LuisAFK是的,你是对的,我把它改为“mylist”,但我仍然有前面的问题…写行中的表达式(?)应该做什么?它看起来像生成器表达式(for和if但不是else)和条件表达式(if和else但不是for)之间的混搭。如果我删除if-else语句并在fileoutput.close()之前的行中写入fileoutput.writelines('\n'),则在结尾处有一个“制表符”时将写入这些行,我不想要“制表符”,所以你实际上不想写行,你想写由制表符连接的值,末尾有一个换行符?