使用Visual Studio 2019在python中调试子进程
我有一个名为使用Visual Studio 2019在python中调试子进程,python,visual-studio-2019,Python,Visual Studio 2019,我有一个名为main.py的脚本,它利用subprocess来调用名为的脚本名为.py: main.py from subprocess import Popen, PIPE, STDOUT import sys user_input = ['John', '555'] communicate_argument = '\n'.join(user_input) p = Popen([sys.executable, 'called.py'], stdout=PIPE, stdin=PIPE, s
main.py
的脚本,它利用subprocess
来调用名为的脚本名为.py
:
main.py
from subprocess import Popen, PIPE, STDOUT
import sys
user_input = ['John', '555']
communicate_argument = '\n'.join(user_input)
p = Popen([sys.executable, 'called.py'], stdout=PIPE, stdin=PIPE, stderr=STDOUT, encoding='utf-8')
stdout, stderr = p.communicate(communicate_argument)
print(stdout)
name = input('What is your name\n')
age = input('What is your age\n')
print('You are {}, and you are {} years old'.format(name, age))
调用.py
from subprocess import Popen, PIPE, STDOUT
import sys
user_input = ['John', '555']
communicate_argument = '\n'.join(user_input)
p = Popen([sys.executable, 'called.py'], stdout=PIPE, stdin=PIPE, stderr=STDOUT, encoding='utf-8')
stdout, stderr = p.communicate(communicate_argument)
print(stdout)
name = input('What is your name\n')
age = input('What is your age\n')
print('You are {}, and you are {} years old'.format(name, age))
我想调用main
,但在VS2019中调试调用了
。我制定了一个解决方案,并成功地运行和调试了main.py
但是,如果我在名为.py的中放置一个断点,调试器将不会停止,而是执行程序直到完成
如果调用的.py是从main.py
运行的,如何成功调试它?有任何特殊原因,您没有将其作为模块导入?是的。实际上,名为
的是一个大型的、设计糟糕的第三方程序,我需要在重构之前对其进行测试。在我能够测试它的所有功能之前,我不想改变它接受用户输入的事实。。。