本文背景
前两天帮一个前同事写代码,让我处理一个数据,然后输出模型的一些表现。但是这个同事的Python水平一般,也不会用anaconda等ide,只会在终端运行程序。那么问题来了,如果想换一个数据重跑一遍代码,还得在代码里头把数据的路径换一下很麻烦,那怎么实现在终端运行程序的时候修改文件路径呢?
这时候就需要使用外部传参的方式。于是本文我总结了一下,外部传参共有三种方法。
方法一:使用sys.argv
我最早学习Python的时候,有一本书叫Learn Python the Hard Way,这本书很适合初学者。这本书不让你用ide,也不让你用命令行,必须在文本编辑器里把代码写好,然后在终端里跑。所以,这本书在很早的时候就讲到了外部传参,也就是调用sys.argv。
(1)具体方法
我给一个示例程序。
from sys import argv
_, name, age = argv
print(type(argv))
print(argv[0])
print(f"My name is {name}.")
print(f"I'm {age} years old.")
这里第二行实际上是一个unpack的操作,第一个变量我们不需要对其进行操作,所以使用”_”占位,但是待会我们可以打印出来它是个什么东西。
比如我们在终端输入
python test1.py James 30
返回的结果如下图所示。