如何使用 sys.argv 将字符串变量从 shell 脚本传递到 python?

Tte*_*ech 2 python shell sys argv

我想将一个字符串变量从 Shell 脚本传递到我的 python 脚本并将其存储在sys.argv[1]. 目前,这是我的情况:

主目录

TEST="This is a test"
python main.py $TEST
Run Code Online (Sandbox Code Playgroud)

主要.py

if __name__ == '__main__':
     print(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)

结果:

This
Run Code Online (Sandbox Code Playgroud)

$TEST我该如何发送呢sys.argv[1] = "This is a test"?我不想在发送字符串后重建它。

Jan*_*ake 7

将main.sh编辑为以下内容:

TEST="This is a test"
python main.py "${TEST}"
Run Code Online (Sandbox Code Playgroud)

变量需要在“”内部扩展并转换为其值。

主要.py

if __name__ == '__main__':
     print(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)

结果

This is a test
Run Code Online (Sandbox Code Playgroud)