小编给大家分享一下使用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
以上是使用python3顺序执行多个py文件的案例的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!