Run a C# application from python script

元气小坏坏 提交于 2019-11-30 15:15:18

问题


I've just about finished coding a decently sized disease transmission model in C#. However, I'm fairly new to .NET and am unsure how to proceed. Currently I just double-click on the .exe file and the model imports config setting from text files, does its thing, and outputs the results into a text file.

What I would like to do next is write a Python script to do the following:

  • Run the simulation N times (N > 1000)
  • After each run rename the output file and store (i.e. ./output.txt -> ./acc/outputN.txt)
  • Aggregate, parse, and analyze the outputs
  • Output the result in some clean format (possibly excel)

The majority of my programming experience to date has been in C/C++ on linux. I'm fairly confident about the last two items; however, I have no idea how to proceed for the first two. Here are some specific questions I'd like advice on:

  • What is the easiest/best way to run my C# .exe from a python script?
  • Does anyone have advice on the best way to do filesystem operations in Python on a Windows system?

Thanks!


回答1:


As of Python 2.6+ you should be using the subprocess module: (Docs)

import subprocess

for v in range(1000):
    cmdLine = r"c:\path\to\my\app.exe"
    subprocess.Popen(subprocess)
    subprocess.Popen(r"move output.txt ./acc/output-%d.txt" % (v))



回答2:


The answer to your problems can be found in 'os' in the python standard library. Documentation for doing various operations, such as handling files and starting processes, can be found here.

Process management (Running your C# program) can be found here and file operations are here.

EDIT: Actually, instead of the above process link, you should use the subprocess module.



来源:https://stackoverflow.com/questions/3260015/run-a-c-sharp-application-from-python-script

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!