C# 在.NET中使用解析器参数调用python脚本
对不起,如果这是一个重复的问题,但我找不到明确的答案 我正在尝试使用IronPython从.NET内部调用python脚本(dnstwist.py)C# 在.NET中使用解析器参数调用python脚本,c#,python,.net,C#,Python,.net,对不起,如果这是一个重复的问题,但我找不到明确的答案 我正在尝试使用IronPython从.NET内部调用python脚本(dnstwist.py) public static void runDNSTwistPython(string url) { var ipy = Python.CreateRuntime(); dynamic test = ipy.UseFile("dnstwist-master\\dnstwist.py"); test.main(); } 我需
public static void runDNSTwistPython(string url)
{
var ipy = Python.CreateRuntime();
dynamic test = ipy.UseFile("dnstwist-master\\dnstwist.py");
test.main();
}
我需要一种方法来调用它并将输出放入.csv文件中。我可以很容易地从命令行完成这项工作,但我不知道如何在我的C#方法中完成这项工作
谢谢@jacob hall您可以使用C#进程类并传递要执行的命令行。该类文档可在此处找到
您的代码如下所示:
Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "python dnstwist.py --csv google.com > output.csv";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
谢谢你的解决方案!但是有没有一种方法可以使用IronPython.Hosting名称空间来实现这一点?我听说它比System.Diagnostics更具可移植性。从这个python脚本生成
exe
是一个选项吗?因此,您只能直接从cmd行调用它,如dnstwist.exe--csv google.com>output.csv
Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "python dnstwist.py --csv google.com > output.csv";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();