知行编程网知行编程网  2022-10-21 03:30 知行编程网 隐藏边栏  85 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于怎么用python3顺序执行多个py文件?的相关知识,包括python3运行py文件,以及python用什么软件编程这些编程知识,希望对大家有参考作用。


我之前向你解释过运行一个文件,但大多数时候我们不可能只运行一个文件。如果我们需要运行多个文件,我们应该怎么做?今天,针对这个问题,我就重点给大家讲一下。


~一起来看下哈~



Bash for Loop:使用不同的参数运行












个文件


如果我们想运行具有不同参数的文件怎么办?例如,我们可能希望使用相同的脚本来预测使用不同模型的数据。

import joblib
 
# df = ...
 
model_path = 'model/model1/XGBoost/version_1'
model = joblib.load(model_path)
model.predict(df)



如果一个脚本需要很长时间运行并且我们有多个模型要运行,那么等待脚本完成运行然后运行下一个将非常耗时。有没有办法告诉计算机使用命令行运行

1,2,3,10,然后去做其他的事情。



是的,我们可以用

for bash for loop。首先,我们使用系统argv使我们能够解析命令行参数。如果要覆盖命令行上的配置文件,也可以使用hydra等工具。

import sys
import joblib
 
# df = ...
 
model_type = sys.argv[1]
model_version = sys.argv[2]
model_path = f'''model/model1/{model_type}/version_{model_version}'''
print('Loading model from', model_path, 'for training')
 
model = joblib.load(model_path)
mode.predict(df)
>>> python train.py XGBoost 1
Loading model from model/model1/XGBoost/version_1 for training



太好了!我们刚刚告诉我们的脚本使用模型

XGBoost,version 1来预测命令行上的数据。现在我们可以使用bash循环遍历模型的不同版本。



如果你可以使用

Python执行for循环,那么也可以在下面这样的终端上执行





$ for version in 2 3 4
> do
> python train.py XGBoost $version
> done



键入

Enter分隔行




输出:


Loading model from model/model1/XGBoost/version_1 for training
Loading model from model/model1/XGBoost/version_2 for training
Loading model from model/model1/XGBoost/version_3 for training
Loading model from model/model1/XGBoost/version_4 for training


现在你可以在运行具有不同模型的脚本时做其他事情!



是不是非常方便呢

~



如果还想知道更多的

python知识,可以到

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享