input()和sys.stdin.readline()的比较

1、sys.stdin.readline( )会将标准输入全部获取,包括末尾的‘\n‘,input()则不会。一下例子,输入  hello

import sys

line = sys.stdin.readline()

for i in range(len(line)):

  print(line[i]+‘hello‘)

==>

hhello
ehello
lhello
lhello
ohello

hello

import sys

line = input()

for i in range(len(line)):

  print(line[i]+‘hello‘)

==>

hhello
ehello
lhello
lhello
ohello

要想删除sys.stdin.readline( )的换行符,可以用rstrip( )函数去掉(sys.stdin.readline( ).rstrip(‘\n‘))

2、sys.stdin.readline( )可以指定读取用户输入的字符长度。下面例子输入  hello

import sys

line = sys.stdin.readline(3)

print(line)

==>hel

时间: 2024-10-13 04:33:36

input()和sys.stdin.readline()的比较的相关文章

sys.stdin.readline()和raw_input()的区别

sys.stdin.readline()会将标准的输入全部获取,包括末尾的'\n',但是raw_input()获取的输入是不包括换行符'\n'的. 1 import sys 2 line1 = raw_input() 3 line2 = sys.stdin.readline() 4 5 print len(line1),len(line2) 运行结果如下:         有点不理解为什么line2的长度是5,不是应该是4的么??? 1 line = input() 2 3 print len(

python重定向sys.stdin、sys.stdout和sys.stderr

标准输入.标准输出和错误输出. 标准输入:一般是键盘.stdin对象为解释器提供输入字符流,一般使用raw_input()和input()函数. 例如:让用户输入信息(Python环境为2.x): 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 import sys 4 name = raw_input("Please input your name: ") 5 print name 6 7 # python test.py 8 Plea

sys.stdin的三种方式

1. for line in sys.stdin: import sys sys.stdout.write('根据两点坐标计算直线斜率k,截距b:\n') for line in sys.stdin: if line == '\n': break x1, y1, x2, y2 = (float(x) for x in line.split()) k = (y2 - y1) / (x2 - x1) b = y1 - k * x1 sys.stdout.write('斜率:{},截距:{}\n'.f

Python的sys.stdout、sys.stdin重定向

Python的sys.stdout.sys.stdin重定向 转自:http://www.cnblogs.com/turtle-fly/p/3280519.html 本文环境:Python 2.7 使用 print obj 而非 print(obj) 一些背景 sys.stdout 与 print 当我们在 Python 中打印对象调用 print obj 时候,事实上是调用了 sys.stdout.write(obj+'\n') print 将你需要的内容打印到了控制台,然后追加了一个换行符

python中sys.stdout、sys.stdin

1.如果需要更好的控制输出,而print不能满足需求,sys.stdout,sys.stdin,sys.stderr就是你需要的. 2.sys.stdout与print: 在python中调用print时,事实上调用了sys.stdout.write(obj+'\n') print 将需要的内容打印到控制台,然后追加一个换行符 以下两行代码等价: sys.stdout.write('hello' + '\n') print('hello') 3.sys.stdin与input sys.stdin

Disable line buffer and input echo of stdin

* Disable line buffer and input echo of stdin */static int __getch(){ char ch; struct termios old, new; (void) tcgetattr(STDIN_FILENO, &old); memcpy(&new, &old, sizeof(struct termios)); new.c_lflag &= ~(ICANON | ECHO); (void) tcsetattr(STD

Python中print和input调用了Python中底层的什么方法

print  print() 用 sys.stdout.write() 实现 import sys print('hello') sys.stdout.write('hello') print('new') # 结果: # hello # hellonew 可以看到两者还是有不同的. sys.stdout.write()结尾没有换行,而print()是自动换行的.另外,write()只接收字符串格式的参数. print()能接收多个参数输出,write()只能接收一个参数. input Pyth

[翻译] 使用 Python 创建你自己的 Shell:Part I

使用 Python 创建你自己的 Shell:Part I [TOC] 原文链接与说明 https://hackercollider.com/articles/2016/07/05/create-your-own-shell-in-python-part-1/ 本翻译文档原文选题自 Linux中国 ,翻译文档版权归属 Linux中国 所有 我很想知道一个 shell (像 bash,csh 等)内部是如何工作的.为了满足自己的好奇心,我使用 Python 实现了一个名为 yosh (Your O

Python 标准输出 sys.stdout 重定向

使用 print obj 而非 print(obj) 一些背景 sys.stdout 与 print 当我们在 Python 中打印对象调用 print obj 时候,事实上是调用了 sys.stdout.write(obj+'\n') print 将你需要的内容打印到了控制台,然后追加了一个换行符 print 会调用 sys.stdout 的 write 方法 以下两行在事实上等价: sys.stdout.write('hello'+'\n') print 'hello' sys.stdin