如何使用 sys.argv 将字符串变量从 shell 脚本传递到 python?
How to pass a string variable from shell script to python with sys.argv?
我想将字符串变量从 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] = "This is a test"
?
我不想在发送后重建字符串。
将您的 main.sh 编辑为以下内容:
TEST="This is a test"
python main.py "${TEST}"
变量需要在“”内展开,将转化为它的
值。
main.py
if __name__ == '__main__':
print(sys.argv[1])
结果:
This is a test
就像这样:
import sys
TEST="This is a test"
if __name__ == '__main__':
print(TEST, sys.argv[0])
只需使用:
python main.py "$TEST"
我想将字符串变量从 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] = "This is a test"
?
我不想在发送后重建字符串。
将您的 main.sh 编辑为以下内容:
TEST="This is a test"
python main.py "${TEST}"
变量需要在“”内展开,将转化为它的 值。
main.py
if __name__ == '__main__':
print(sys.argv[1])
结果:
This is a test
就像这样:
import sys
TEST="This is a test"
if __name__ == '__main__':
print(TEST, sys.argv[0])
只需使用:
python main.py "$TEST"