【发布时间】:2019-03-02 23:33:22
【问题描述】:
我正在使用以下代码:
#!/usr/bin/env python
import sys
from io import StringIO
#data = sys.stdin.readlines()
sys.stdin = """
hello I feel good
how are you?
where have you been?
"""
for line in sys.stdin:
print line
当我运行上述代码时,打印行打印出分配给sys.stdin 的文本的每个字符。它每行打印一个字符:
h
e
l
l
o
I
....truncated
我正在尝试使输出与存储在 sys.stdin 中的一样,它应该如下所示:
hello I feel good
how are you?
where have you been?
【问题讨论】:
-
将字符串分配给
sys.stdin是完全疯狂的。您这样做破坏了 Python,因为它希望该名称引用一个类文件对象,它可以在该对象上调用诸如.read()或.readline()之类的方法。如果你想一次用一行对你的字符串做一些事情,比如for line in myString.splitlines():——不需要在这个过程中搞砸sys模块。
标签: python stdin python-2.x