2014-09-18 4 views
1

У меня есть скрипт Perl, из которого я вызываю скрипт Python.Не удается записать одиночную строку кавычки в Python из Perl

Я использую:

system "python script.py '".$var1."' '".$var2."' '".$var3."' '".$var4."' '".$var5."'"; 

Где, $var1 = "'Nostoc azollae' 0708", который имеет одинарные кавычки в строке.

В script.py сценарий, я использую:

var1 = sys.argv[1] 

И если я печатаю var1, он только печатает: Nostoc, а остальное не печатается, остальное работает нормально.

Таким образом, очевидно, что скрипт Python не получает строку с включенным '.

Что может быть для этого решением?

ответ

3

Избегайте оболочки вызова при использовании system() с помощью отдельных параметров, вместо того, чтобы присоединиться к ним все вместе,

system("python", "script.py", $var1, $var2, $var3, $var4, $var5); 
Смежные вопросы