从Python脚本运行C#应用程序

8 投票
2 回答
12591 浏览
提问于 2025-04-16 01:22

我刚刚完成了一个相对较大的疾病传播模型的编码,使用的是C#。不过,我对.NET还比较陌生,不太确定接下来该怎么做。目前,我只需双击.exe文件,模型就会从文本文件中导入配置设置,运行并将结果输出到一个文本文件中。

接下来我想做的是写一个Python脚本,完成以下几件事:

  • 运行模拟N次(N大于1000)
  • 每次运行后重命名输出文件并保存(比如:./output.txt改成./acc/outputN.txt)
  • 汇总、解析和分析输出结果
  • 以某种整洁的格式输出结果(可能是Excel)

到目前为止,我大部分的编程经验都是在Linux上用C/C++。对于最后两项我比较有信心,但对于前两项我完全不知道该怎么做。以下是我想咨询的一些具体问题:

  • 从Python脚本运行我的C# .exe文件,最简单或最好的方法是什么?
  • 有没有人能给我一些关于在Windows系统上进行文件系统操作的建议?

谢谢!

2 个回答

3

你的问题可以通过Python标准库中的'os'模块来解决。关于如何进行各种操作,比如处理文件和启动程序的说明,可以在这里找到。

关于进程管理(运行你的C#程序)可以在这里查看,而文件操作的相关内容在这里

补充说明:其实,关于进程的内容,你应该使用subprocess模块

13

从Python 2.6版本开始,你应该使用subprocess模块来处理子进程的相关操作。你可以在这里查看详细的文档:(文档链接)

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))

撰写回答