0

我正在尝试使用 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()
4

2 回答 2

1

一个简单的答案是简单地将文本的输入和显示放在一段时间(真)块中并等待某些东西(按键或一组字符)打破循环。但我不确定你是否想这么简单。

尝试像其他文本编辑器一样一一插入字符来绕过它——例如看看 Vim。那里使用的系统相当简单方便。

编辑:

获取按键:如何在命令行 python 中接受按键?

做while真循环:http ://wiki.python.org/moin/WhileLoop

在每个周期结束时,如果输入字符不是 chr(27),即 ESC 键,则附加到您正在创建的文本并显示它..但这对于大文件来说并不好..

于 2013-05-06T13:00:53.060 回答
0

您可以使用 while 循环设置在用户根本没有输入任何内容时结束。

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 设置此结束组合。

于 2013-05-06T13:09:13.307 回答