无法在文本文件中写入整个输出

时间:2017-11-21 01:12:57

标签: python-3.x python-2.7

在下面的功能中,在做了一些处理之后打印几个字的操作之后,我希望打印一个文件中的所有输出字,然而不是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。它出错了。感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果你在python中使用with语句,则不需要关闭文件。

您正在" w"中打开文件。模式,这意味着每次打开它时,整个文件都将被销毁。尝试在追加模式下打开它。

编辑: 另外,我将看看CSV模块。它有一些很好的用例。

相关问题