如何在python脚本中执行多个CLI命令?

如何在python脚本中执行多个CLI命令?,python,linux,ubuntu,command-line-interface,teamforge,Python,Linux,Ubuntu,Command Line Interface,Teamforge,我正在使用TeamForge的CLI在缺陷跟踪部分创建工件。CLI文件/可执行文件称为“ctf”,没有扩展名。我想使用python脚本创建工件,但最多只能执行一个命令。我想一次性创建一个bug。这是我目前掌握的代码: import os os.system("./ctf go tracker1234; # going to Defects section create; # creati

我正在使用TeamForge的CLI在缺陷跟踪部分创建工件。CLI文件/可执行文件称为“ctf”,没有扩展名。我想使用python脚本创建工件,但最多只能执行一个命令。我想一次性创建一个bug。这是我目前掌握的代码:

import os
os.system("./ctf    go tracker1234;             # going to Defects section
                    create;                     # creating an artifact
                    set title This Is A Title;  # setting artifact's fields
                    set description desc123; 
                    set Product [Product 23]; 
                    set build_number Not known; 
                    set Severity Catastrophic; 
                    set steps_to_reproduce 1st comment; 
                    set Component [component 4]; 
                    set Version [version 19]; 
                    commit)                     # saving the artifact on TeamForge
以下是我不断遇到的错误:

sh: 1: create: not found
sh: 1: commit: not found
因此,我相信这些命令不是按顺序执行的,也不是按我指定的顺序执行的。这意味着每个命令都是单独执行的。有什么建议可以让这些命令按照我指定的顺序运行吗

如果需要进一步解释,请告诉我

更新


我刚刚发现您可以这样做:
go tracker 1234 create
,这是一个两步合一的过程

您可以尝试向ctf引用您的参数;看看这个:

>>> os.system("echo hi; echo again;")
hi
again
与:

>>> os.system("echo 'hi; echo again;'")
hi; echo again;
分号终止shell中的命令。如果你的参数包含分号,你必须引用它们,这样它们就不会破坏你的参数列表

但是,根据,他们使用多个命令处理这种情况的方式似乎是将它们放入脚本中,并使用以下命令执行:

./ctf script.txt

要通过标准输入将信息传递给程序,请使用

  • shell的工具,如或,在指定的命令行中,或
  • Python的设施,例如根据

或者,您的程序可能有一些“批处理模式”,允许您在命令行或文件中提供您的命令集,但是,看看,这似乎不太可能。

可能重复@ivan_pozdeev我没有使用awk、grep等。。这是一个独立的CLI。它不遵循与awk相同的格式。grept问题不是特定于awk的,相同的规则适用于任何命令。若要
shell=True
/
os.system
,您需要准确地传递在shell提示符处键入的内容。请稍候。。。您需要在标准输入上而不是在命令行上传递命令吗@ivan_pozdeev是的,我没有使用linux shell,我正在将CLI命令传递给一个独立的客户端。CLI命令的格式/语法与bash、awk、grep等不同。这些单引号不起作用。谢谢你的帮助!好的,我明白了!那么,把你的命令放到
”/ctf script.txt“
”中执行怎么样?你能把上面的注释放在你的答案中吗。这对我有用!谢谢你,也谢谢你!完成;我希望我的编辑正确地表达了您采取的解决方案?是的,我将所有要执行的命令都写入script.txt,然后使用您提供的命令执行CLI