shwq.net
当前位置:首页 >> Python中sys模组stDin的问题 >>

Python中sys模组stDin的问题

因为命令里用了管道符号,这就会把python的stdin定义为了less的stdout。因此python不能再读取键盘输入。 建议把txt文件名作为命令行参数传入python,让python自己去读取文件。这样python的stdin就还是指向键盘输入。命令如下: $ python 1.py te...

这样就行了: import sys while True: line = sys.stdin.readline() # 一次只读一行 if not line: # 如果是空行(^Z)就停止 break a = line.split() print int(a[0]) + int(a[1]) # 否则回显,再回去读下一行

read读取数据 ctrl+d是结束输入 ,read并不会像input那样遇到回车就返回读取的数据 它会缓存或者 等到ctrl d再读取数据

>>> dir(sys.stdin) ['_CHUNK_SIZE', '__class__', '__delattr__', '__doc__', '__enter__', '__eq__', ' _exit__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__ nit__', '__iter__', '__le__', '__lt__', '__ne__'...

import sys class LineBuffer: def __init__(self, buffsize=10): self.buffer = [] self.buffsize=buffsize def flush(self): output, self.buffer = self.buffer, [] return output def append(self, line): self.buffer.append(line) if self...

解决方案: select,poll等监视标准输入文件句柄(0),一旦有I/O操作就打印数据 使用sys.stdin.isatty()函数 import sys def check_method_1(): import select if select.select([sys.stdin, ], [], [], 0.0)[0]: print "Have data!" for line in s...

read读取数据 ctrl+d是结束输入 ,read并不会像input那样遇到回车就返回读取的数据 它会缓存或者 等到ctrl d再读取数据

用特殊字符吧 if line.strip()=="$$"

他们都错了。 from sys import stdin之后你的这个scope的dict里是增加了stdin埃 所以应该是: temp=__import__('sys') stdin=temp.stdin del temp

os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functionality. 这个模块提供了一种方便的使用操作系统函数的方法。 sys: This module provides access to some variables used or ...

网站首页 | 网站地图
All rights reserved Powered by www.shwq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com