【问题标题】:How to run perl script with multiple args from python script如何从 python 脚本运行具有多个参数的 perl 脚本
【发布时间】:2021-05-25 19:18:52
【问题描述】:

我做了一个python代码,必须在PC shell上顺序执行一系列perl命令,问题是我没有意识到要发送这些脚本我必须添加参数(我有n_params),请教?

发送的示例命令 perl [file_name.pl] [参数]

要在 windows CMD 上运行这些命令,我​​使用的是 os 和 subprocess

python 代码示例

# command = perl [file_name.pl] [params]
# path = location/of/where/the/pl/file/is/saved

perl_script = subprocess.Popen(["C:\\Perl64\\bin\\perl.exe",path + command], stdout=sys.stdout)
perl_script.communicate()

但是像这样运行脚本,代码让我错了,因为它说它在特定目录中找不到文件名

【问题讨论】:

  • ["C:\\Perl64\\bin\\perl.exe", path + command] 看起来不正确。我觉得应该是["C:\\Perl64\\bin\\perl.exe", path+"file_name.pl", "param1", "param2", ...]

标签: python python-3.x perl subprocess python-os


【解决方案1】:

这个参数给Popen()

["C:\\Perl64\\bin\\perl.exe", path + command] 

看起来不正确,因为您写道 commandperl [file_name.pl] [params]。而是尝试:

p = subprocess.Popen(["C:\\Perl64\\bin\\perl.exe", path+"file_name.pl", "param1", "param2", ...])

【讨论】:

    猜你喜欢
    • 2016-09-27
    • 2010-09-26
    • 1970-01-01
    • 2012-09-05
    • 2020-10-08
    • 2021-02-15
    • 1970-01-01
    • 2021-12-19
    • 2016-06-01
    相关资源
    最近更新 更多