当使用文件导入功能时,如何修改导入文件以提供所需的输出而不修改导入的文件?

时间:2016-10-05 04:15:15

标签: python python-2.7

档案1

def multiply():
    x = raw_input('enter the number')
    y = x*4

文件2

from file1 import multiply

如果在运行x = 4时没有实现用户输入,我如何设置(4*4) = 16的值,从而得到结果file2

1 个答案:

答案 0 :(得分:2)

实现你想要的东西有一种直截了当的hackey方式。我建议不要这样做。它基本上是一个糟糕的设计选择,但它是:

def multiply():
    x = int(raw_input())
    print x * 4

import sys
import io
def force_stdin(f, force_input):
    stdin = sys.stdin
    sys.stdin = io.StringIO(unicode(force_input))
    f()
    sys.stdin = stdin

force_stdin(multiply, '4')

输出:

16