gpt4 book ai didi

python - 在管道 python 脚本中进入交互模式

转载 作者:行者123 更新时间:2023-12-01 04:57:09 25 4
gpt4 key购买 nike

我正在尝试使用 shell 管道运算符“|”通过管道传输 2 个 python 脚本,如下所示:

python s1.py | python s2.py

在最简单的情况下,s1.py 和 s2.py 除了打印一些字符串之外什么也不做:

在 s1.py 中:

print 'from s1.'

在 s2.py 中:

import sys
for line in sys.stdin.readlines():
print 'from s2: '+line

我想在执行s2.py后进入交互模式。我试图把 -i s1.py、s2.py 和两者前面的标志。但他们都没有给出预期的结果。推杆import pdb;pdb.set_trace()在 s2.py 末尾也没有帮助。

有人可以提供一些线索吗?顺便说一句,我的Python版本是2.5.2

最佳答案

您需要将 stdin 重置为来自终端,而不是管道。也就是说,在请求用户输入之前(假设您在 Unix-y 环境中)调用 sys.stdin = open("/dev/tty") 。例如:

import sys
for line in sys.stdin.readlines():
print 'from s2: ' + line

sys.stdin = open("/dev/tty")

raw_input()

关于python - 在管道 python 脚本中进入交互模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27131881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com