有什么情况会比sys.stdin.readline()优先使用input()?

时间:2019-08-17 16:07:48

标签: python input stdin readline readlines

在Python中,我们有两种广泛使用的方法来获取用户输入。第一个input()方法和第二个readline()方法定义为sys.stdin.readline()。我想知道在任何情况下,input()方法优于readline()方法的问题。

据我了解,readline()比input()更快。这两个都返回字符串值,我们必须根据需要进行类型转换。还有一个readlines()方法可以读取多行用户输入。从用户读取多行代码时使用readlines()更好吗?

input()方法不需要任何导入,而readline()需要导入sys.stdin。仍然input()较慢。这是否意味着导入所需的时间可以忽略不计?

1 个答案:

答案 0 :(得分:2)

TLDR速度不是一个因素。

如果您的程序旨在从Unix过滤器之类的标准输入中读取数据,则不会使用input,而是会使用sys.stdin的方法,这完全是因为您拥有< em>不同的方法来匹配程序的数据流。

另一方面,如果您的程序旨在与用户互动,那么input显然是行之有效的方法。因为程序的速度不是两个调用速度的无穷差别,而是用户交互的速度和可选提示字符串提供的额外便利性,所以它是一个非常强大的参数,赞成{ {1}}。