【发布时间】:2013-09-23 15:44:21
【问题描述】:
我正在尝试编写一个聊天逻辑,所以这里是我想做的事情
def chatlogic():
talk=True
while talk:
if __name__ == '__main__':
Thread(target = fluse).start()
message = raw_input('enter a message: ')
if not message: #Ending Conversation if empty message was sent
talk=False
conv_file.write('[%s]%s: %s\n' %(msgtime,user,message))
#conv_file.flush()
return 'Conversation Ended'
def fluse():
while True:
time.sleep(1)
conv_file.fluse()
文件必须每秒更新一次,无论您在做什么。 我究竟做错了什么? 注意:我以前从未使用过多任务处理
【问题讨论】:
-
首先,
conv_file是什么,它的fluse方法应该做什么? -
第二,为什么在函数中间有
if __name__ == '__main__'检查?你曾经调用过这个函数吗? -
conv_file 是应该存储消息的对话文件,我使用了fluse来查看其他用户向他发送的消息
-
@abarnert 我刚刚在inernet中搜索了如何使用多任务并找到了这个例子
-
我看不出有多少人可以在这里交谈。只有一个线程在运行
raw_input和文件writes。即使有多个线程,它们都会调用raw_input并因此监听同一个本地用户。如果您打算通过全部写入某个 SMB 或 NFS 共享文件来让多人聊天,那么您没有任何代码可以读取该文件。
标签: python file reload multitasking