为什么我的函数在Python中没有循环的情况下继续循环?

时间:2014-05-14 23:09:53

标签: python function loops while-loop

以下代码在第30行之后循环。任何人都可以告诉我我做错了什么?在消息中输入[done]后,它只显示'title>>'再次提示。

from lxml import etree
import time
import datetime

def memory():
    ts = time.time()
    st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')

    post = open('post.txt', 'w')
    document = etree.Element('document')
    title = raw_input('title>>')

    while 1:
        message = raw_input('post>>')
        post.write(message + '\n')
        if '[done]' in message:
            post.close()
            break

    post = open('post.txt', 'r')
    postf = post.read()

    article = etree.SubElement(document, 'article', title=title, date=st)
    article.text = postf

    post.close()

    with open('postf.txt', 'a') as file:
        file.write(etree.tostring(document, pretty_print=True) + '\n')
        file.close()

    return(document, article)




memory()

document = memory()
article = memory()

print etree.tostring(document, pretty_print=True)
print '<<Your Message>>'
print article.text

它应循环'post&gt;&gt;'提示直到看到[完成],然后它应该打破循环并完成功能。我觉得这很简单,但是我在过去的一个半小时里一直在改变一些事情而无济于事。

提前致谢。

0 个答案:

没有答案