gpt4 book ai didi

python - 无法在命令行中将多个参数传递给 python 脚本

转载 作者:行者123 更新时间:2023-11-28 22:51:13 24 4
gpt4 key购买 nike

我正在尝试编写这样的 python 脚本:

import sys

print sys.argv[1]
print sys.argv[2]

我们将其命名为 arg.py,并在命令行中运行它:

python arg.py one two

它打印:一二。

一切都很好。

然后我希望它方便使用,所以我将 arg.py 放在我的 $PATH 中并允许它执行 exacuate 这样无论我在哪里我都可以简单地输入 arg在命令行中运行此脚本。我试过了

arg one two

但是失败了。异常说:“bash:测试:一个:预期的一元运算符”。但如果我只是这样做

arg one

它运行良好。

我的问题是:为什么我不能像这样传递多个参数?什么是正确的方法?

谢谢!

最佳答案

您可能将脚本命名为 test,这是一个 Bash 内置名称。给它起别的名字。

$ help test
test: test [expr]
Evaluate conditional expression.

Exits with a status of 0 (true) or 1 (false) depending on
the evaluation of EXPR. Expressions may be unary or binary. Unary
expressions are often used to examine the status of a file. There
are string operators and numeric comparison operators as well.

The behavior of test depends on the number of arguments. Read the
bash manual page for the complete specification.

...

这就是为什么您从 bash 得到错误:

bash: test: one: unary operator expected
^--------- because it expects an operator to go before 'two'
^-------- and test doesn't like the argument 'one' you've provided
^-------- because it's interpreting your command as the builtin 'test'
^--- Bash is giving you an error

关于python - 无法在命令行中将多个参数传递给 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com