Проблема с пробелом в пути, аргументы C # для запуска скрипта Python - PullRequest
1 голос
/ 24 мая 2019

Я не знаю, как я могу кодировать строковый формат, чтобы сохранить полный путь с пробелом, потому что он разделяется на каждый пробел. 4 аргумента:

  • C: / MyDoc / Пример / MyCSV File 1.csv
  • -1
  • 20-05-2019
  • 7

python.run_cmd("C:/MyCode.py", "C:/MyDoc/Example/MyCSV File 1.csv -1 20-05-2019 7");

Функция:

 public static void run_cmd(string cmd, string args)
    {
        ProcessStartInfo start = new ProcessStartInfo();
        start.FileName = "C:/PRGM/python.exe";
        start.Arguments = string.Format("{0} {1}",cmd, args);
        start.UseShellExecute = false;
        start.RedirectStandardOutput = true;
        using (Process process = Process.Start(start))
        {
            using (StreamReader reader = process.StandardOutput)
            {
                string result = reader.ReadToEnd();
                Console.Write(result);
            }
        }
    }

1 Ответ

1 голос
/ 24 мая 2019

Как насчет упаковки имени файла в кавычки, вам нужно экранировать их, используя обратную косую черту \:

python.run_cmd("C:/MyCode.py", "\"C:/MyDoc/Example/MyCSV File 1.csv\" -1 20-05-2019 7");

или дословную строку :

python.run_cmd("C:/MyCode.py", @"""C:/MyDoc/Example/MyCSV File 1.csv"" -1 20-05-2019 7");
...