【问题标题】:Syntax error while executing java command in python script在 python 脚本中执行 java 命令时出现语法错误
【发布时间】:2013-06-13 13:28:36
【问题描述】:

我想在 python 脚本中执行以下命令

    java -cp lib/*:esalib.jar clldsystem.esa.ESAAnalyzer "$1" "$2"

但由于 jar 文件路径中的 '*' 和 ':' 导致语法错误。我还能怎么做?

【问题讨论】:

  • 你是如何正常执行python脚本和java命令的? '*' 如果它通过 shell 运行,则扩展,并且并非所有 python exec 选项默认都这样做(你会在文档中看到 shell=True)
  • 你是如何尝试执行它的? os.system? subprocess.Popen? commands.some_api_that_should_not_be_used?

标签: java python semantic-analysis


【解决方案1】:

尝试使用子进程库。 希望对你有帮助: Subprocess management

【讨论】:

    【解决方案2】:

    我使用了子进程库,它现在可以工作了。:) 这是我的做法

        import shlex,subprocess
        x='java -cp "lib/*:esalib.jar" clldsystem.esa.ESAAnalyzer "$1" "$2"'
        args=shlex.split(x)
        p=subprocess.Popen(args)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多