在下面的功能中,在做了一些处理之后打印几个字的操作之后,我希望打印一个文件中的所有输出字,然而不是4个字正在生成,只有输出2个正在写入文件words.txt。
def morsePartialDecode(inputStringList):
with open('words.txt','w') as wordfile:
message_received = inputStringList
message_received = ' '.join(inputStringList)
for i in range(len(message_received)):
x = 'x'
y = '.'
message = message_received.replace(x, y)
message1 = message.split(",")
message_conv = morseDecode(message1)
print message_conv
print >> wordfile, (message_conv)
for i in range(len(message_received)):
x = 'x'
y = '-'
message = message_received.replace(x, y)
message2 = message.split(",")
message_converted = morseDecode(message2)
print >> wordfile, (message_converted)
wordfile.close()
return message_converted
作为函数的输出我得到的话是:
EESE
TTDT
SAIFE
DMNCT
但是在文件中只写了SAIFE和DMNCT。它出错了。感谢任何帮助。
答案 0 :(得分:0)
如果你在python中使用with语句,则不需要关闭文件。
您正在" w"中打开文件。模式,这意味着每次打开它时,整个文件都将被销毁。尝试在追加模式下打开它。
编辑: 另外,我将看看CSV模块。它有一些很好的用例。