我正在开始一个Python项目,其中stdin重定向是必要的,使用类似于下面的代码:
import sys
import StringIO
s = StringIO.StringIO("Hello")
sys.stdin = s
a = raw_input("Type something: ")
sys.stdin = sys.__stdin__
print("You typed in: "+a)
问题是,代码运行后,将显示以下内容:
输入内容:输入:Hello
有没有办法修改我的代码,以便显示以下内容?
输入内容:你好
你输入了:你好
我一直在寻找高低,但尚未找到答案.如果有人有想法我真的很感激.谢谢!
简短问题
 
是否可以在故障/错误N次或基于预定义功能时重新尝试单元测试.(就像用户的提示)  
背景信息
 
为避免重新输入整页系统信息,请参阅有关将数据传递给unittes和自动测试发现的问题,以获取有关我的物理设置的更多详细信息.  
关于手头的问题,我知道我可以通过重新编写我的测试用例来循环,直到它获得所需的结果(参见下面的伪代码),然后基于此断言.但是我宁愿不去重写100个测试用例.
我会有人指出,如果单位测试失败,它应该失败并完成.如果可以删除人为错误,我同意这100%.这是我连接的物理系统,很多时候数字万用表的引线连接不好,并且由于连接松动而可能会失败.
伪解决方案
class Suite_VoltageRegulator(unittest.TestCase):
    def test_voltage_5v_regulator(self):   
        keep_running = 'y'
        error_detected = False
        print '\n'     
        # Display User Test Configuration
        msg = \
            '1) Connect Front DMM GND(black) to the TP_COM\n' +\
            '2) Connect Front DMM POS(red) to the TP-A\n' +\
            '3) Ensure the DMM terminal button indicates FRONT'
        continue_test = prompt.Prompt_Ok_Cancel('User Action Required!', msg)
        if not continue_test:
            self.assertTrue(False, 'User Canceled Test!')
        while(keep_running == 'y'):
            try: …