当我有这个代码
input('Write your name: ')
Run Code Online (Sandbox Code Playgroud)
您可以在该字符串后面写下您的名字.
>>>Write your name: My name
Run Code Online (Sandbox Code Playgroud)
但是,如何在输入结束时显示某些内容?
>>>Write your name: (Name)
>>>Write your name: (Name Name)
>>>Write your name: (Name Name Name)
Run Code Online (Sandbox Code Playgroud)
所以无论你写什么,')'字符都会出现在你写的时候?
我建议使用以下实现,它msvcrt每次读取一个字符并对其采取行动(处理Enter和Backspace如果遇到):
import msvcrt
def input_between_strings (s, t):
res = ''
while True:
print(s, res, t, sep = '', end = ' \r')
curr = msvcrt.getch()[0]
if curr == 13:
print()
return res
elif curr == 8:
res = res[:-1]
else:
res += chr(curr)
Run Code Online (Sandbox Code Playgroud)
对于你的情况,你可以这样称呼它
result = input_between_strings('>>> Write your name: (', ')')
Run Code Online (Sandbox Code Playgroud)