簡體   English   中英

在Python中使用Popen執行帶變量的bat腳本

[英]Using Popen in Python to execute bat script with variable

我有一個python腳本,它正在調用名為testrunner.bat的bat腳本,該腳本又在SOAPUI中執行TestSuite。 我實際上已經通過以下命令獲得了外部調用的正常工作:

Popen("testrunner.bat -s\"CCT000 - Deploy Software Release\" -R\"TestSuite Report\" -E\"Default environment\" -Ppath.packages.sq=Y:\\NIGHTLY C:\\CI\\HEDeployment\\CI-XXX-DeploySwRelease")

但是,我需要能夠使軟件“級別”動態化,並且需要將變量級別傳遞給命令中的“ NIGHTLY”,以便可以指定它是夜間軟件還是穩定軟件等。我應該分開分解所有論點,但是我很難過。

subprocess.Popen()可以接受參數列表以及字符串。 因此,這應該為您工作:

release_type = "NIGHTLY"
Popen(['testrunner.bat', 
       '-s"CCT000 - Deploy Software Release"', 
       '-R"TestSuite Report"', 
       '-E"Default environment"', 
       '-Ppath.packages.sq=Y:' + release_type, 
       'C:CIHEDeploymentCI-XXX-DeploySwRelease'])

如文檔中所述, shlex.split對於將原始命令字符串拆分成多個部分非常有用。 但是,至少就我而言,我不得不重新添加雙引號。

此外,請記住單引號字符串可以包含雙引號,反之亦然,因此您無需在此處轉義引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM