Python 将两个单独的脚本打印到同一控制台窗口
我正在用python编写一系列大型自动化测试,我想使用一个带有gui的主脚本来调用我想要运行的特定测试 我正在使用subprocess.call(path,shell=True),其中path是所选测试的位置和名称。这很好,但是控制台只输出主脚本中的打印语句。每个自动化测试都有一个输出,我希望在测试运行时查看该输出 我可以将这些输出打印到同一个控制台,还是强制它打开一个新的控制台窗口 编辑1:我想我应该核实一下。一旦启动了测试脚本,我并不真正关心主脚本的输出 编辑2:这是当我设置shell=False时发生的回溯错误Python 将两个单独的脚本打印到同一控制台窗口,python,console,tkinter,call,subprocess,Python,Console,Tkinter,Call,Subprocess,我正在用python编写一系列大型自动化测试,我想使用一个带有gui的主脚本来调用我想要运行的特定测试 我正在使用subprocess.call(path,shell=True),其中path是所选测试的位置和名称。这很好,但是控制台只输出主脚本中的打印语句。每个自动化测试都有一个输出,我希望在测试运行时查看该输出 我可以将这些输出打印到同一个控制台,还是强制它打开一个新的控制台窗口 编辑1:我想我应该核实一下。一旦启动了测试脚本,我并不真正关心主脚本的输出 编辑2:这是当我设置shell=Fa
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1470, in __call__
return self.func(*args)
File "C:\Documents and Settings\CDM\Desktop\workspace\Master.py", line 50, in execute_test
call(path, shell=False)
File "C:\Python27\lib\subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python27\lib\subprocess.py", line 711, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 948, in _execute_child
startupinfo)
WindowsError: [Error 193] %1 is not a valid Win32 application
我认为您必须使用第三个脚本来接收这两个输入,然后继续使用主脚本。您的问题是
shell=True
,为什么需要它?@Ccheese4将回溯添加到问题中,重要的部分被删除。您可能只需要[sys.executable,'C:/fred/hello.py']
(或类似内容)听你指挥shell=True
通常仅用于文件关联。默认情况下,它应打印到同一控制台。您可以使用subprocess.check\u调用([sys.executable,path])
在同一控制台中运行。或子进程。选中调用(“cmd/c start cmd/c”.split()+[sys.executable,path])
在新窗口中启动。