Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.NET中使用解析器参数调用python脚本_C#_Python_.net - Fatal编程技术网

C# 在.NET中使用解析器参数调用python脚本

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(); } 我需

对不起,如果这是一个重复的问题,但我找不到明确的答案

我正在尝试使用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();
}
我需要一种方法来调用它并将输出放入.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();