python 3.4.3 f.write不能正常工作

时间:2015-10-13 07:38:08

标签: python python-3.x

以下是我的程序片段:

with open(completepathname,'wb') as f:              
    print ('file opened')
    print(f)
    while True:
           print('receiving data...')
           print('hello')

           data = send_receive_protocol.recv_msg(conn)
           #print('hi')
           print(data)
           if not data:
                print('printing1')
                break

           print('printing')
           data1=data.encode()
           print(data1)
           f.write(data1)#write to file
           f.close()

输出正确打印到控制台,但如果我打开文件它是空白的。如果我删除该文件并再次执行我的程序,则会创建该文件但仍为空

1 个答案:

答案 0 :(得分:0)

以下代码段按预期工作:

with open('test.txt', 'wb') as f:              
    while True:
           data = 'test-data'

           if not data:
                break

           data1 = data.encode('hex')
           f.write(data1)
           f.flush()

您应该注意不要.close()类似文件的对象,然后继续尝试写入它。如果您需要确保立即写入输出,请使用.flush()