windows 如何用Ctrl+Enter结束python input()并使用enter来换行?

kkbh8khc  于 2023-05-01  发布在  Windows
关注(0)|答案(2)|浏览(185)

在Windows上,我使用控制台应用程序将文本保存在数据库中,并提示输入文本

entry=(input('Enter note: '))

我希望它支持换行符,因此使结束项Ctrl+Enter而不仅仅是Return。有没有办法在控制台中做到这一点?
建议的问题没有回答如何使用Ctrl+Enter结束文本输入。相反,它只提供Ctrl+Z作为结束文本输入的方式

yzuktlbb

yzuktlbb1#

这并不能完全回答你的问题,只是作为一种替代方式来完成你似乎想要的。唯一的原因,我张贴这个作为一个“答案”是这样我可以显示一个代码块。我认为'Enter'键会在你输入'Ctrl-Enter'之前很久就终止input()。

entry=(input('Enter note - Use | to separate lines: '))
print(entry)
entry = entry.replace('|','\n')
print(entry)
0ejtzxu1

0ejtzxu12#

我不认为改变CLI的行为是有答案的。我的选择是使用sys。stdin和q退出文本输入

entryMode=True
    while entryMode:
        print("Enter Note: (q to end entry: qq to leave entry mode : qqq to exit)")
        entryLines=[]
        for line in sys.stdin:
            if 'q' == line.rstrip():
                break
            if 'qq' == line.rstrip():
                entryMode=False
                break
            if 'qqq' == line.rstrip():
                entryMode=False
                exit()
            entryLines.append(line)
        entry = "".join(entryLines)

相关问题