示例#1
0
        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);
        }
示例#2
0
        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();
        }