我寫了一個python爬蟲,前端是用c#表單程式設計的,要呼叫py腳本,然后我把py腳本打包成exe檔案,想用c#執行cmd命令來運行這個exe,然后在輸入引數和輸出結果這卡住了
求教
或者有其他方法能用c#直接呼叫py腳本嗎
uj5u.com熱心網友回復:
別沉別沉別沉別沉別沉別沉uj5u.com熱心網友回復:
c#可以直接運行python代碼的uj5u.com熱心網友回復:
iornpython 不能呼叫一些第三方庫吧
uj5u.com熱心網友回復:
一定是可以的,9年前在軍工行業就干過,用C#通過cmd啟動公司二次開發的計算軟體,輸入引數并得到計算結果,具體怎么做忘記了,百度一下吧。我記得是計算軟體定好手工用cmd 啟動的格式(包括輸入引數),這個exe的開發者應該很清楚怎么呼叫和怎么返資料。uj5u.com熱心網友回復:
/// <summary>/// 執行Cmd命令
/// </summary>
/// <param name="workingDirectory">要啟動的行程的目錄</param>
/// <param name="command">要執行的命令</param>
public bool StartCmdBackup(string workingDirectory, string command)
{
bool ret = true;
Process process = new Process();
process.StartInfo.FileName = IBSystemContentUtil.s_cmdPath;
process.StartInfo.WorkingDirectory = workingDirectory;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.OutputDataReceived += Process_OutputDataReceived;
try
{
if (process.Start())
{
process.StartInfo.Domain = process.Id.ToString();
process.BeginOutputReadLine();
process.StandardInput.WriteLine(command);
process.StandardInput.WriteLine("exit");
process.StandardInput.WriteLine("exit");
}
}
catch (Exception es)
{
ret = false;
}
finally
{
process.Close();
}
return ret;
}
private void Process_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
Process process = sender as Process;
if (!string.IsNullOrEmpty(e.Data) && e.Data.ContainsIgnoreCase("exit"))
{
// process.Id
}
}
uj5u.com熱心網友回復:
C#使用command物件,執行:$pythonPatn/python xx.pyuj5u.com熱心網友回復:
這樣直接運行py檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/89093.html
標籤:C#
上一篇:C# .net mvc 一般撰寫報表 用什么么技術。
下一篇:小白來問問題了
