在python中获取命令行参数时出错

2024-04-26 10:45:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是windows和python2.7。我的程序很简单。通过命令行获取输入并检查它是否为“5”。在

代码:

import unittest
import sys

a=sys.argv[1]

print a

class TestCase(unittest.TestCase):
    """My tests"""

    def test_is_number_is_five(self):
        self.assertEqual('5',a)

if __name__ == '__main__':
    unittest.main()

并使用以下方法运行它:

^{pr2}$

我得到了这个错误:

^{3}$

Tags: 代码命令行importself程序ismainmy
1条回答
网友
1楼 · 发布于 2024-04-26 10:45:47

^{}将从命令行获取要运行的测试列表。因此,它试图在您的模块中找到一个名为5的测试,但是它失败了,因为没有这样的测试。在

要解决此问题,您可以将自己的argv值传递给unittest.main()

if __name__ == '__main__':
    unittest.main(argv=sys.argv[:1])

这只传递第一个参数,即脚本文件名。但是,如果您想在命令行上传递测试名称,它确实会破坏unittest.main()的某些功能。在

相关问题 更多 >