[英]Running a batch file with parameters in Python OR F#
我搜索了網站,但我沒有看到任何與我想要的相匹配的東西。 我創建了一個使用我創建的Web服務的獨立應用程序。 要運行客戶端我使用:
C:/scriptsdirecotry> "run-client.bat" param1 param2 param3 param4
我將如何用Python或F#編寫代碼。 看起來它應該很簡單,但我沒有在網上看到任何與我正在尋找的相匹配的東西。
在F#中,您可以使用System.Diagnostics
名稱空間中的Process
類。 運行命令的最簡單方法應該是:
open System.Diagnostics
Process.Start("run-client.bat", "param1 param2")
但是,如果需要提供更多參數,則可能需要首先創建ProcessStartInfo
對象(它允許您指定更多選項)。
Python是類似的。
import os
os.system("run-client.bat param1 param2")
如果需要異步行為或重定向標准流。
from subprocess import *
p = Popen(['run-client.bat', param1, param2], stdout=PIPE, stderr=PIPE)
output, errors = p.communicate()
p.wait() # wait for process to terminate
或者,您可以使用fsi.exe來調用F#腳本(.fsx)。 給出文件“Script.fsx”中的以下代碼
#light
printfn "You used following arguments: "
for arg in fsi.CommandLineArgs do
printfn "\t%s" arg
printfn "Done!"
您可以使用以下語法從命令行調用它:
fsi --exec .\Script.fsx hello world
然后FSharp交互將返回
You used following arguments:
.\Script.fsx
hello
world
Done!
有關msdn的fsi.exe命令行選項的更多信息: http : //msdn.microsoft.com/en-us/library/dd233172.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.