Моя конечная цель - передать 'строку json' из C # в скрипт python.
Например, в скрипте python я хотел бы получить как sys.argv [1] что-то подобноелинии:
'{"A":"Hello", "B":"world"}'
Тогда я смогу использовать:
mystring = sys.argv[1]
myjson = json.loads(mystring)
Я не могу получить выше.И вот, я даже попытался просто получить это:
{"A":"Hello", "B":"world"}
(чтобы я мог добавить первую и последнюю одинарные кавычки вручную в python).
К сожалению, в любом случае я не могу пройти двойные кавычки.
В C # я пытался:
string myarguments = "main.py \"{\"A\":\"Hello\", \"B\":\"world\"}\"";
var myProcessStartInfo = new ProcessStartInfo(Path_OF_PYTHON_EXE);
myProcessStartInfo.RedirectStandardOutput = true;
myProcessStartInfo.Arguments = myarguments;
var myProcess = new Process();
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
Часть, с которой я борюсь, это получить правильную строку myarguments , которая позволит скрипту python получитьдвойная кавычка в качестве аргумента.
С помощью приведенного выше фрагмента C # скрипт python:
import sys
print(str(sys.argv))
print('arg0 : ' + sys.argv[0])
print('arg1 : ' + sys.argv[1])
выводит следующее:
['main.py', '{A:Hello, B:world}']
arg0 : main.py
arg1 : {A:Hello, B:world}
Что я действительно хочу в Python, это получить отline: print ('arg1:' + sys.argv [1]):
arg1 : {"A":"Hello", "B":"world"}
Или даже лучше:
arg1 : '{"A":"Hello", "B":"world"}'
Я пробовал много других сценариев (пытаясь избежать двойногоцитаты в C #), но ни один из них не дал мне правильный sys.argv в Python.Любая помощь в этом очень ценится!