简体   繁体   English

如何在 Python 脚本中通过 CMDline 传递参数

[英]How to pass a parameter via CMDline in Python Script

I have a python script that looks like this:我有一个看起来像这样的 python 脚本:

a='{}'

From my cmdline i want to be able to pass a parameter for that value in the brackets.从我的 cmdline 我希望能够在括号中传递该值的参数。 So:所以:

python- my_script.py Hello World

The output would then be: output 将是:

'Hello World'

Any ideas or suggestion as to how to pass a parameter on the command line in a python script when running it?关于在运行 python 脚本时如何在命令行上传递参数的任何想法或建议? I am new to python so any tips would help!我是 python 的新手,所以任何提示都会有所帮助!

Reference here !参考这里

I'm also fairly new to Python so not 100% positive this works but assuming it does, To recreate what your searching for.我对 Python 也很陌生,所以不是 100% 肯定这有效,但假设它有效,重新创建您搜索的内容。

#!/usr/bin/python

import sys

print ('Number of arguments:', len(sys.argv), 'arguments.')
print ('Argument List:', str(sys.argv))

After adding the Import sys添加Import sys

Where your python my_script.py 'Hello World'你的python my_script.py 'Hello World'

Note that:注意:

my_script.py equals sys.argv[0] my_script.py等于sys.argv[0]

'Hello World' equals sys.argv[1] 'Hello World'等于sys.argv[1]

Therefore setting a = sys.argv[1] should work!因此设置a = sys.argv[1]应该有效!

To test it try to print(a)要对其进行测试,请尝试print(a)

Also note that this will not work if your cmdline is python my_script.py Hello World This will treat Hello and world as two separate arguments.另请注意,如果您的 cmdline 是python my_script.py Hello World这将不起作用,这会将 Hello 和 world 视为两个独立的 arguments。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM