我尝试让python脚本使用shell命令下载一些git数据。但是,我希望git命令“查询”用户登录,并向用于调用python的shell报告状态。我试着用管子做这个
subprocess.run('git clone SERVER ./build',
shell=True)
然而,我没有看到任何事情发生,python进程只是等待而不请求输入
当我直接使用python main.py在终端中运行它时,它确实工作了,只是当运行pycharm IDE时,输入和输出被吃掉了。
只是为了进一步澄清:当我通过pycharm的启动器运行它时,我注意到这个过程“永远不会结束”,直到我杀死它,引发KeyboardInterrupt
。所以它在“某处”等待用户输入,只是输入没有显示在pycharm控制台中
我该怎么做?如果不添加shell=True
,子进程会抱怨git
命令不是现有的文件/目录
我建议您改用
subprocess.call
在IDE中运行shell命令时,可能需要指定可执行文件的完整路径
在“运行设置”下,需要设置一个配置标志以使其正常工作:
在配置选项卡中的执行下,勾选控制台中的模拟终端输出
在我的例子中,我必须重新启动pycharm,以便在更新旧配置时生效(将其添加到新的运行配置时直接起作用)
相关问题 更多 >
编程相关推荐