python文件之间如何互相通信_如何在两个python脚本之间进行通信?

我有一个3d party python脚本,它从命令行获取输入。此脚本(input.py)中的相关代码如下所示:import sys

def chooseinput():

valid_inputs = ('a', 'b')

inp = raw_input('Enter choice (%s): ' % "/".join(valid_inputs))

if inp not in valid_inputs:

sys.stderr.write("Unsupported input %s\n" % inp)

return

print 'You chose ' + '\'' + inp + '\''

return inp

if __name__ == "__main__":

chooseinput()

# do something with the input...

chooseinput()

# do something with the input...

我正试图编写另一个python脚本(harness.py)来生成上述脚本的输入。import subprocess

def harness():

p = subprocess.Popen(['python', 'input.py'], stdin=subprocess.PIPE)

p.stdin.write('a')

p.stdin.write('b')

if __name__ == '__main__':

harness()

在命令行中,我运行:$ python harness.py

Enter choice (a/b): Enter choice (a/b): Traceback (most recent call last):

File "input.py", line 13, in

chooseinput()

File "input.py", line 5, in chooseinput

inp = raw_input('Enter choice (%s): ' % "/".join(valid_inputs))

EOFError: EOF when reading a line

如果第一个脚本中只有一个输入,那么可以通过删除第二个write调用使第二个脚本工作。如果第一个脚本需要多个输入,则会出现上述错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值