public ProcessoDAO ExecutarArquivo(string nome, ArgumentosDAO argumentosPython) { ProcessoDAO retorno = new ProcessoDAO(); using (Process processo = new Process()) { processo.StartInfo = new ProcessStartInfo(_comandoPython) { Arguments = $"{_localArquivosPython}{nome} {argumentosPython}", UseShellExecute = false, //Não usar shell RedirectStandardOutput = true, //Redirecionar a saída para o C# RedirectStandardError = true, //Redirecionar os erros para o C# também CreateNoWindow = true }; processo.Start(); var saídaSemNovaLinha = processo.StandardOutput.ReadToEnd(); saídaSemNovaLinha = saídaSemNovaLinha.Replace(Environment.NewLine, string.Empty); var errosSemNovaLinha = processo.StandardError.ReadToEnd(); errosSemNovaLinha = errosSemNovaLinha.Replace(Environment.NewLine, string.Empty); retorno.MensagensTela = saídaSemNovaLinha; retorno.Erros = errosSemNovaLinha; if (!string.IsNullOrEmpty(errosSemNovaLinha)) { throw new PythonException(errosSemNovaLinha); } } return(retorno); }
public Pysharp(string diretórioPython, string executávelPython) { _diretórioPython = diretórioPython; _executávelPython = executávelPython; _processo = new Processo(_diretórioPython, _executávelPython); _argumentosPython = new ArgumentosDAO(); }