Я зову питон скрипт из программы рубиновой как:передавая массив в качестве аргумента командной строки для питона сценария
sku = ["VLJAI20225", "VJLS1234"]
qty = ["3", "7"]
system "python2 /home/nish/stuff/repos/Untitled/voylla_staging_changes/app/models/ReviseItem.py #{sku} #{qtys}"
Но я хотел бы получить доступ к элементам массива в сценарии питона. ИНТ сценарий питона:
print sys.argv[1]
#gives [VLJAI20225, expected ["VLJAI20225", "VJLS1234"]
print sys.argv[2]
#gives VJLS1234] expected ["3", "7"]
Я чувствую, что пространство между элементами массива обрабатывает элементы массива в виде отдельных аргументов. Возможно, я ошибаюсь. Как я могу передать массив правильно. Благодаря
Спасибо за очень полезный ответ. Но я получаю 'ValueError (« Нет объекта JSON может быть декодирован »)' после передачи '# {sku.to_json}' и '# {qtys.to_json}' – nish
Я не могу говорить за Ruby, так что, может быть, вы просто хочу сделать отладочный вывод в части Python перед его расшифровкой из JSON, просто распечатайте строку JSON: 'print s' (или, вероятно,' print sys.argv [1] 'или аналогичный). – Alfe
жаль, что я перепутался, это работает отлично. Большое спасибо за помощь Alfe – nish