gpt4 book ai didi

java - Popen.communicate() 无法正常工作

转载 作者:行者123 更新时间:2023-11-30 03:04:23 28 4
gpt4 key购买 nike

我对 Python 还很陌生。我正在使用Python 2.7我正在尝试使用 python 在 shell 中自动执行命令。我使用 Popen 运行命令,并使用 Popen.communicate() 将参数传递给子进程。 。我尝试执行的命令基本上是一个 Java 应用程序,当它执行时,它会找到多个主类。我需要输入要执行的主类的索引,我使用 Popen.communicate() 。在输出屏幕中,它显示输入了数字,但它抛出 java.lang.NumberFormatException: For input string: ""

为什么将输入字符串视为空字符串?

这是我使用的代码:

import sys
from subprocess import Popen, PIPE, STDOUT
cmd = ["sudo", "./sbt", "project java-examples", "run"]
proc = Popen(cmd, shell=False,stdout=PIPE, stdin=PIPE, stderr=STDOUT)
print proc.communicate('1')[0]
proc.stdin.close()

这是我得到的输出

[info] Loading project definition from /home/hduser/morey/kafka/project [info] Set current project to Kafka (in build file:/home/hduser/morey/kafka/) [info] Set current project to kafka-java-examples (in build file:/home/hduser/morey/kafka/)

Multiple main classes detected, select one to run:

[1] TestProducer
[2] kafka.examples.SimpleConsumerDemo
[3] kafka.examples.KafkaConsumerProducerDemo

Enter number: 1
Invalid number: java.lang.NumberFormatException: For input string: "" java.lang.RuntimeException: No main class detected. at scala.sys.package$.error(package.scala:27) [trace] Stack trace suppressed: run last java-examples/compile:run for the full output. [error] (java-examples/compile:run) No main class detected. [error] Total time: 2 s, completed Feb 3, 2016 5:46:31 AM

最佳答案

在您的输入中添加换行符:

print proc.communicate('1\n')[0]

关于java - Popen.communicate() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35169585/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com