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

发布于 2025-01-28 07:21:04 字数 393 浏览 3 评论 0原文

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

main.sh

TEST="This is a test"
python main.py $TEST

main.py

if __name__ == '__main__':
     print(sys.argv[1])

结果:

This

如何发送$ test,以便sys.argv [1] =“这是一个测试” ? 我不想在发送字符串后重建该字符串。

I would like to pass a string variable from a Shell Script to my python script and have it stored in sys.argv[1].
Currently, this is my situation:

main.sh

TEST="This is a test"
python main.py $TEST

main.py

if __name__ == '__main__':
     print(sys.argv[1])

result:

This

How do I send $TEST so that sys.argv[1] = "This is a test"?
I don't want to have to reconstruct the String after sending it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心欲静而疯不止 2025-02-04 07:21:04

编辑您的 main.sh 以下:

TEST="This is a test"
python main.py "${TEST}"

变量需要扩展内部“”,并将被转换为其
价值。

main.py

if __name__ == '__main__':
     print(sys.argv[1])

结果

This is a test

Edit your main.sh to following :

TEST="This is a test"
python main.py "${TEST}"

Variable needs to expanded inside "" and will be transformed into its
value.

main.py

if __name__ == '__main__':
     print(sys.argv[1])

Result:

This is a test
坏尐絯℡ 2025-02-04 07:21:04

只是使用:

python main.py "$TEST"

Just use:

python main.py "$TEST"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文