python - 在字符串中的自定义位置键入文本的 input() 调用

标签 python python-3.x input

这其实是我一年前刚开始学习Python时的一个疑问。它是以下内容:我如何调用 input 函数并让用户在不同于 prompt 结尾的某个时间输入他们的条目?

澄清一下,假设我有字符串

'Enter file size: MB'

当被调用时,我希望像这样插入文本:

Enter file size: 62 MB

是否可以像下面这样在函数调用中重新创建此行为?

input('Enter file size: {} MB')
# where Python would interpret
# the {} as the position to input text

最佳答案

这适用于 Windows 和 Linux:

import sys
print("                    MB\rEnter file size: ", end = "")
file_size = sys.stdin.readline()[:-1]

在 Linux(不是 Windows)上,您还可以使用 input("MB\rEnter file size: ")

这里有一个函数让它更容易使用:

import sys

def input_multipart(prefix, gap_length, suffix):
    print(" " * (len(prefix) + gap_length) + suffix + "\r" + prefix, end = "")
    return sys.stdin.readline()[:-1]

用法:

file_size = input_multipart("Enter file size: ", 3, "MB")

输出:

Enter file size:    MB

关于python - 在字符串中的自定义位置键入文本的 input() 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52236035/

相关文章:

python - 创建表示 3 位二进制字符串的所有组合的最小图形

python - Pandas 列提取

python-3.x - 导入错误:无法从 'XGBClassifier'(未知位置)导入名称 'xgboost'

python - 将结果分配给虚拟变量 _

javascript - 将文本从一个 INPUT 拖动到另一个 INPUT,而不从源 INPUT 中删除文本

php - 保留 while() 生成的复选框字段列表的值。 Value ="checked"(但是value已经有数据了?)

file - 在 Ember.js 中输入类型 ="file"

python - 有没有更有效的方法来标准化 sklearn 或其他 python 库中的一组数据

python - 我在 python 中遇到一个问题,即用句子的行结束字符分割文本的一部分

python - 如果值是整数,如何将 float 格式化为整数。即,将 13.0 显示为 13,但将 13.5 显示为 13.5