shell调用python传参数_将参数传递给shell中的python程序

我无法在shell脚本中运行python脚本.以下是script.sh文件,其中3个参数被传递给python脚本.

python main.py 1.0 0.1 10

python程序没有读取参数.当在命令行终端中运行同一行时,它运行正常.

&LT&LT&GT&GT

我刚刚通过在main.py中定义了硬编码的参数并运行不带参数的命令来检查它.它仍然无法正常工作. main.py正在使用一些其他文件,这些文件也位于同一目录中.此外,该脚本也位于同一目录中.

解决方法:

从你粘贴的SyntaxError,听起来你是在错误版本的python下运行脚本,特别是Python 2而不是Python 3(因为SyntaxError可能会抱怨注释,which only exist in Python 3).

如果您阅读了实际获得的错误,您可以看到这与传递参数(问题的标题)完全无关.

正确的解决方案是不通过在前面添加解释器名称来调用脚本,而是让它调用自己的解释器:

./main.py 1.0 0.1 10

代替

python main.py 1.0 0.1 10

如果它被正确编写,脚本将在开头有一个shebang line,指定它需要运行的解释器,这将是python3或类似的东西.

通过让脚本指定自己的解释器,调用脚本不需要知道或关心需要哪个解释器.甚至可以重写脚本以完全使用不同的语言(或者可以用完全不是脚本的已编译二进制文件替换),并且不必修改调用者以便以不同方式调用它.

标签:python,shell

来源: https://codeday.me/bug/20190813/1648679.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值