Вот проблема:прохождение комплексных параметров из PHP на Python
<?php
$x = '1 2 3';
echo shell_exec('python xyz.py .$x');
?>
и Python:
x = sys.argv[1]
print (x)
печатает 1
которая очевидна, так как это нарушает параметры, передаваемые с пространством в качестве разделителя.
Так что я могу идти вперед делать что-то вроде
string = ''
for word in sys.argv[1:]:
string += word + '
но это остановит меня от отправки каких-либо других параметров после $x
, поскольку длина $x
не будет известно и sys.argv[1:]
бы все после argv[1]
в виде Единственный параметр
Другое возможное решение использует статический разделитель, такой как #
, заменяя пробелы #
на PHP, а затем заменяя #
пробелами. Это будет работать, но это тривиальный способ решить проблему.
так, есть ли какое-либо другое решение?
его не ясно, что вы хотите для того чтобы достигнуть – Hackaholic