我一直在用一个看似简单的Python问题疯狂:我想调用一个使用raw_input()和input()的函数,并以某种方式在程序中提供一个字符串.我一直在搜索,发现子进程可以将stdin和stdout更改为PIPE; 但是,我不能使用子进程来调用函数.这是一个例子:
def test():
a = raw_input("Type something: ")
return a
if __name__=='__main__':
string = "Hello World" # I want to a in test() to be Hello World
returnValue = test()
Run Code Online (Sandbox Code Playgroud)
当然,这比我想要完成的要简单得多,但基本思路非常相似.
非常感谢!
Ign*_*ams 12
暂时替换sys.stdin为StringIO或cStringIO使用所需的字符串.
>>> s = StringIO.StringIO('Hello, world!')
>>> sys.stdin = s ; r = raw_input('What you say?\n') ; sys.stdin = sys.__stdin__
What you say?
>>> r
'Hello, world!'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6087 次 |
| 最近记录: |