从bash传递参数到python函数

时间:2017-12-22 10:14:58

标签: python bash shell

我正在尝试下面的命令

 python -c 'import sample; sample.Functionname()'
 python -c 'import sample; sample.printFxn("helloWorld")'

这两个都运行良好但是当我将变量作为参数传递时,我得到以下错误。

 File "<string>", line 1 import sample; sample.printFxn($filename) SyntaxError: invalid syntax

将变量作为参数从bash传递给python函数的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

不要将字符串变量插入到命令中;将值作为参数传递给Python脚本。

python -c 'import sys, sample; sample.printFxn(sys.argv[1])' "$fileName"

答案 1 :(得分:0)

单引号(')阻止shell将字符串解析为评估变量。您可以使用双引号,以便shell评估您的变量:

python -c "import sample; sample.printFxn('$fileName')"