添加自定义命令行参数到 运行 if elif in python
Adding custom commandline parameters to run if elif in python
我需要在python文件中添加一个命令行参数(我没有在里面定义函数)这样参数就是平台,然后在我需要使用的文件里面:
if platform == iphone:
<execute some code>
elif platform == ipad:
<execute some other code>
基本上 if 和 elif 下定义的是相同的代码,但使用不同的资源(图像、txt 文件等)。我需要的是 运行 从命令行使用平台参数的文件的可能性,例如:
python somefile.py -iphone
现在我尝试了这样的 argparse:
platform = argparse.ArgumentParser()
platform.add_argument("iphone")
platform.add_argument("ipad")
platform.parse_args()
但显然它是错误的 and/or 遗漏了一些东西,因为它根本不起作用。我正在寻找一种最简单的方法来实现这一目标。
如果您将命令作为 python somefile.py iphone
然后你可以使用 sys.argv
获取在终端中传递的参数。
它给出了通过命令传递的参数列表。在你的情况下 sys.argv
将 return ['somefile.py','iphone'] 即第 0 个位置将包含程序名称,从第 1 个位置开始所有论据通过了。
import sys
platform=sys.argv[1]
if platform == 'iphone':
<execute some code>
elif platform == 'ipad':
<execute some other code>
如果您想使用 ArgumentParser
,您需要将代码更改为:
parser= argparse.ArgumentParser()
parser.add_argument("-platform")
args = parser.parse_args()
if args.platform == 'iphone'
##do something with that information
使用率:
python somefile.py -platform iphone
阅读更多关于 argParser 的内容here
否则你可以简单地使用 sys.argv[1]
:
import sys
if sys.argv[1] == 'iphone':
# iphone
sys.argv 的用法:
python somefile.py iphone
我需要在python文件中添加一个命令行参数(我没有在里面定义函数)这样参数就是平台,然后在我需要使用的文件里面:
if platform == iphone:
<execute some code>
elif platform == ipad:
<execute some other code>
基本上 if 和 elif 下定义的是相同的代码,但使用不同的资源(图像、txt 文件等)。我需要的是 运行 从命令行使用平台参数的文件的可能性,例如:
python somefile.py -iphone
现在我尝试了这样的 argparse:
platform = argparse.ArgumentParser()
platform.add_argument("iphone")
platform.add_argument("ipad")
platform.parse_args()
但显然它是错误的 and/or 遗漏了一些东西,因为它根本不起作用。我正在寻找一种最简单的方法来实现这一目标。
如果您将命令作为 python somefile.py iphone
然后你可以使用 sys.argv
获取在终端中传递的参数。
它给出了通过命令传递的参数列表。在你的情况下 sys.argv
将 return ['somefile.py','iphone'] 即第 0 个位置将包含程序名称,从第 1 个位置开始所有论据通过了。
import sys
platform=sys.argv[1]
if platform == 'iphone':
<execute some code>
elif platform == 'ipad':
<execute some other code>
如果您想使用 ArgumentParser
,您需要将代码更改为:
parser= argparse.ArgumentParser()
parser.add_argument("-platform")
args = parser.parse_args()
if args.platform == 'iphone'
##do something with that information
使用率:
python somefile.py -platform iphone
阅读更多关于 argParser 的内容here
否则你可以简单地使用 sys.argv[1]
:
import sys
if sys.argv[1] == 'iphone':
# iphone
sys.argv 的用法:
python somefile.py iphone