相关疑难解决方法(0)

如何在Python中显示重定向的stdin?

我正在开始一个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)
Run Code Online (Sandbox Code Playgroud)

问题是,代码运行后,将显示以下内容:

输入内容:输入:Hello

有没有办法修改我的代码,以便显示以下内容?

输入内容:你好

你输入了:你好

我一直在寻找高低,但尚未找到答案.如果有人有想法我真的很感激.谢谢!

python redirect stdin

7
推荐指数
1
解决办法
3636
查看次数

Python unittest可以自动重新尝试失败的测试用例/套件吗?

简短问题
是否可以在故​​障/错误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: …
Run Code Online (Sandbox Code Playgroud)

python user-interface unit-testing

5
推荐指数
2
解决办法
3809
查看次数

标签 统计

python ×2

redirect ×1

stdin ×1

unit-testing ×1

user-interface ×1