[英]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.