添加更多行
我正在尝试使用Python制作小型文本创建器应用程序。该概念与普通文本创建者(例如记事本)相同。但是我很难让用户输入很多段落。到目前为止,我只能够让用户输入2段。有没有人可以帮助我?这里是我的脚本:添加更多行
print "Welcome to 'Python Flat Text Creator'."
print "Please enter the name of your file and its extension (.doc atau .txt)."
filename = raw_input("> ")
target = open(filename, 'w')
typeyourtext = raw_input("Type below: \n")
target.write(typeyourtext + "\n")
typeyourtext = raw_input("\n")
target.write(typeyourtext + "\n")
target.close()
一个简单的答案是简单地把打字,在一段时间的文字显示(真)块,并在等待着什么(按键或字符集)来打破这个循环。但我不确定你是否想这么做。
试着绕过它,将字符作为其他文本编辑器逐个插入 - 例如看看Vim。这里使用的系统相当简单和方便。
编辑:
获取按键:How to accept keypress in command line python?
做,当真实周期:http://wiki.python.org/moin/WhileLoop
在每个周期的结束时,如果输入字符不是字符(27),这是ESC键,然后附加到正在创建的文本并显示它..但这不适用于大尺寸的文件..
您可以使用一段时间当用户完全不输入任何内容时,p设置为结束。
target = open(filename, 'w')
previousKeypress = 0
print("Type below:\n")
while previousKeypress != "":
typeyourtext = raw_input("")
target.write(typeyourtext + "\n")
previousKeypress = typeyourtext
target.close()
如果您打算让用户通过任何输入施加额外的新行中的文档中,你可以设定条件,以字符的特定组合,也许像“ABC123”,以结束对其做出反应。
你甚至可以要求用户在程序的最开始通过另一个raw_input来设置这个结束组合。
如果我想ESC按钮可以阻止用户输入文字? – Khadis 2013-05-06 13:14:34
@Khadis就这一点而言,我不确定。使用Escape键退出循环可以使用msvcrt模块完成。问题在于,看起来raw_input会阻止msvcrt捕获转义密钥。到目前为止,如果你真的想使用转义键并让程序顺利运行,我想你可能需要使用msvcrt构建程序来捕获按键。请记住,msvcrt是一个纯Windows的解决方案。 – chrtan 2013-05-06 13:40:05
我目前使用Windows:D(也是Ubuntu)。那么,上面的脚本已经帮助我并教会了我新的东西:D谢谢。 – Khadis 2013-05-07 02:46:05
使用循环????? – 2013-05-06 12:58:02
所以*编辑*文件对你来说并不重要,不是吗? – Crisfole 2013-05-06 12:59:14
现在,我想知道如何首先“创建”文本:D – Khadis 2013-05-06 13:29:18