从C#调用Python应用/脚本
我正在搭建一个ASP.NET MVC(C#)的网站,想要实现一种叫做STV(单一可转移投票)的投票方式。我之前在投票场景中使用过OpenSTV,效果很好,但我从来没有在程序中使用过它。
这个OpenSTV的Google代码项目提供了一个Python脚本,可以让其他应用程序使用OpenSTV:
import sys
sys.path.append("path to openstv package")
from openstv.ballots import Ballots
from openstv.ReportPlugins.TextReport import TextReport
from openstv.plugins import getMethodPlugins
(ballotFname, method, reportFname) = sys.argv[1:]
methods = getMethodPlugins("byName")
f = open(reportFname, "w")
try:
b = Ballots()
b.loadUnknown(ballotFname)
except Exception, msg:
print >> f, ("Unable to read ballots from %s" % ballotFname)
print >> f, msg
sys.exit(-1)
try:
e = methods[method](b)
e.runElection()
except Exception, msg:
print >> f, ("Unable to count votes using %s" % method)
print >> f, msg
sys.exit(-1)
try:
r = TextReport(e, outputFile=f)
r.generateReport();
except Exception, msg:
print >> f, "Unable to write report"
print >> f, msg
sys.exit(-1)
f.close()
我能否从我的C# ASP.NET MVC网站中调用这个Python脚本?
如果可以的话,应该怎么做呢?
提前谢谢你们!