首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将参数传递给shell中的python程序

将参数传递给shell中的python程序
EN

Unix & Linux用户
提问于 2016-06-12 07:03:07
回答 1查看 7.5K关注 0票数 4

我无法在shell脚本中运行python脚本。下面是将3个参数传递给python的script.sh文件。

代码语言:javascript
运行
复制
python main.py 1.0 0.1 10

python程序没有读取参数。在命令行终端中运行同一行时,运行良好。

<<>> --我只是通过在main.py中定义参数、硬编码和运行没有参数的命令来检查这一点。还是不起作用。main.py也使用位于同一目录中的其他一些文件。另外,脚本也位于同一个目录中。

EN

回答 1

Unix & Linux用户

发布于 2016-06-12 15:27:05

从您粘贴的SyntaxError中可以看出,您在python的错误版本下运行脚本,特别是Python2而不是Python3(因为SyntaxError可能在抱怨注释,它只存在于Python3中。)。

如果你读到了你实际得到的错误,你会发现这与传递参数(问题的标题)没有任何关系。

正确的解决方案不是以解释器名称作为前缀来调用脚本,而是让它调用自己的解释器:

代码语言:javascript
运行
复制
./main.py 1.0 0.1 10

而不是

代码语言:javascript
运行
复制
python main.py 1.0 0.1 10

如果正确编写,脚本在开始时将有一个谢邦线,它指定需要在哪个解释器下运行,这将是python3或类似的东西。

通过让脚本指定自己的解释器,调用脚本不需要知道或注意需要哪个解释器。甚至可以重写脚本以使用一种完全不同的语言(或者可以用一个编译好的二进制代码来替换它,而这个二进制文件根本不是脚本),调用方也不需要进行修改就可以不同地调用它。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/289259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档