Input CMake execute\使用输入和输出的进程执行脚本

Input CMake execute\使用输入和输出的进程执行脚本,input,cmake,output,Input,Cmake,Output,如果我使用execute_进程从CMake调用Python/Bash脚本,并且该脚本使用输入/输出,则它不起作用-在脚本执行时无法获取任何输入或显示输出。有什么办法吗?我需要根据用户输入继续以不同的方式构建我的项目。 示例CMakeLists.txt execute_process( COMMAND python ${MY_BUILD_DIR}/test_input.py ) 示例test_input.py result = raw_input("Enter something + [EN

如果我使用execute_进程从CMake调用Python/Bash脚本,并且该脚本使用输入/输出,则它不起作用-在脚本执行时无法获取任何输入或显示输出。有什么办法吗?我需要根据用户输入继续以不同的方式构建我的项目。 示例CMakeLists.txt

execute_process(
  COMMAND python ${MY_BUILD_DIR}/test_input.py
)
示例test_input.py

result = raw_input("Enter something + [ENTER]: ")
print(result)
编辑: 实际上,如果这个脚本作为execute_进程中的唯一命令调用(如我的示例中所示),那么Python通常会等待输入,但不会打印任何输出(“Enter something+[Enter]:”)。如果我使用另一个命令和类似的Python(或Bash)脚本,那么raw_input将从第一个脚本返回输出(“输入某物+[Enter]:“+result)”(如execute_过程中所述),但随后的raw_input调用将失败“读取行时EOFError:EOF”好像输入是从文件中读取的,并且接收到EOF,但我希望从标准输入中读取下一行

所以我有两个问题:

  • 在通过execute\u进程执行脚本期间无法显示任何内容
  • 无法在后续脚本中正常读取标准输入

  • 您能提供一个简单的示例吗?对于每个构建配置,该输入可能是固定的还是随每个构建而变化?您是否可以通过CMake配置步骤获取输入并将其注入脚本?只需“按[ENTER]继续…”即可。您能否提供一个简单的示例?此输入是否可能针对每个生成配置固定或随每个生成而变化?您能否通过CMake配置步骤获取输入并将其注入脚本?这就足以让“按[ENTER]继续…”工作。