创新互联Python教程:怎么用python3顺序执行多个py文件?

之前跟大家讲解过运行一个文件,但是大部分时候我们是不可能只运行一个文件的,那如果遇到需要运行多个文件的时候,我们需要怎么处理呢?今天,针对这个问题,着重给大家说下哦~一起来看下哈~

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、丁青网站维护、网站推广。

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知识,可以到python学习网。

新闻名称:创新互联Python教程:怎么用python3顺序执行多个py文件?
分享网址:http://www.shufengxianlan.com/qtweb/news1/84751.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联