我在尝试创建一个py脚本调用另一个py脚本并向其中输入int时发现了一些问题。我解释得更好:
我的第一个剧本是简单脚本.py你知道吗
def addition ( a , b ) :
c = a + b
return c
x = int ( input ( 'input a int' ) )
y = int ( input ( 'input a int' ) )
summ = addition ( x , y )
在我的第二个剧本里测试仪.py我想这样做:
call simpleScript.py ;
input 4 as x ;
input 8 as y ;
run simpleScript.py using those two input ;
还有更多的东西。问题是我真的找不到合适的输入。一旦我得到它,我就可以做剩下的一切了。你知道吗
提前谢谢。你知道吗
回答帮助操作,因为这和链接的副本之间有一点不同(尽管我仍然建议这是一个应该关闭的副本)。这里的输入是在模块作用域中运行的,因此在第一次加载时将执行。i、 当
simpleScript.py
第一次被import
调用时,它将请求输入。你知道吗为了在测试场景中做到这一点,我首先建议更改它,以便简单脚本.py提供可以运行的函数。这样,就可以使用与复制品相同的解决方案。你知道吗
但是对于这种
simpleScript.py
直接执行代码的特定情况,我们可以使用下面的测试脚本测试功能:其工作原理是模拟
stdin
(命令行输入)返回1,然后返回新行4。由于input
如何与stdin
一起工作,因此在第一次调用input
时返回1,然后在下一次调用时返回4
。你知道吗当我们
import
调用simpleScript
模块时,其中的所有代码都会被执行。由于上面的模拟补丁,在此期间对input
的任何调用都将读取我们给出的数字。由于模块只在第一次加载时执行-如果您一个接一个地尝试多个测试,可能会出现问题。在这种情况下,请参阅此处了解如何强制模块重新加载:How do I unload (reload) a Python module?相关问题 更多 >
编程相关推荐