iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >读取、创建和运行多个文件的Python技巧有哪些
  • 866
分享到

读取、创建和运行多个文件的Python技巧有哪些

2023-06-16 00:06:13 866人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“读取、创建和运行多个文件的python技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!动机将代码投入生产时,你很可能

本篇内容介绍了“读取、创建和运行多个文件的python技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

动机

将代码投入生产时,你很可能需要处理代码文件的组织。读取、创建和运行许多数据文件非常耗时。本文将向你展示如何自动

  • 循环访问目录中的文件

  • 如果不存在嵌套文件,创建它们

  • 使用bash for loop运行一个具有不同输入的文件

这些技巧为我在数据科学项目中节省了很多时间。我希望你也会发现它们有用!

循环访问目录中的文件

如果我们要像这样读取和处理多个数据:

├── data │   ├── data1.csv │   ├── data2.csv │   └── data3.csv └── main.py

我们可以尝试一次手动读取一个文件

import pandas as pd   def process_data(df):    pass  df = pd.read_csv(data1.csv) process_data(df)  df2 = pd.read_csv(data2.csv) process_data(df2)  df3 = pd.read_csv(data3.csv) process_data(df3)

当我们有3个以上的数据时,这是可以的,但不是有效的。如果我们在上面的脚本中只更改了数据,为什么不使用for循环来访问每个数据呢?

下面的脚本允许我们遍历指定目录中的文件

import os import pandas as pd def loop_directory(directory: str):     '''循环目录中的文件'''      for filename in os.listdir(directory):         if filename.endswith(".csv"):             file_directory = os.path.join(directory, filename)             print(file_directory)             pd.read_csv(file_directory)         else:             continue  if __name__=='__main__':     loop_directory('data/')
data/data3.csv data/data2.csv data/data1.csv

以下是对上述脚本的解释

  • for filename in os.listdir(directory):循环访问特定目录中的文件

  • if filename.endswith(".csv"):访问以“.csv”结尾的文件

  • file_directory = os.path.join(directory, filename):连接父目录('data')和目录中的文件。

现在我们可以访问“data”目录中的所有文件!

如果不存在嵌套文件,创建它们

有时,我们可能希望创建嵌套文件来组织代码或模型,这使得将来更容易找到它们。例如,我们可以使用“model 1”来指定特定的特征工程。

在使用模型1时,我们可能需要使用不同类型的机器学习模型来训练我们的数据(“model1/XGBoost”)。

在使用每个机器学习模型时,我们甚至可能希望保存模型的不同版本,因为模型使用的超参数不同。

因此,我们的模型目录看起来像下面这样复杂

model ├── model1 │   ├── NaiveBayes │   └── XGBoost │       ├── version_1 │       └── version_2 └── model2     ├── NaiveBayes     └── XGBoost         ├── version_1         └── version_2

对于我们创建的每个模型,手动创建一个嵌套文件可能需要很多时间。有没有办法让这个过程自动化?是的,os.makedirs(datapath)。

def create_path_if_not_exists(datapath):     '''如果不存在,则创建新文件并保存数据'''      if not os.path.exists(datapath):         os.makedirs(datapath)   if __name__=='__main__': create_path_if_not_exists('model/model1/XGBoost/version_1')

运行上面的文件,你应该会看到嵌套文件'model/model2/XGBoost/version_2'自动创建!

现在你可以将模型或数据保存到新目录中!

import joblib import os   def create_path_if_not_exists(datapath):     '''如果不存在就创建'''      if not os.path.exists(datapath):         os.makedirs(datapath)   if __name__=='__main__':    # 创建目录   model_path = 'model/model2/XGBoost/version_2'   create_path_if_not_exists(model_path)    # 保存   joblib.dump(model, model_path)

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技巧有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 读取、创建和运行多个文件的Python技巧有哪些

本文链接: https://www.lsjlt.com/news/281973.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 读取、创建和运行多个文件的Python技巧有哪些
    本篇内容介绍了“读取、创建和运行多个文件的Python技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!动机将代码投入生产时,你很可能...
    99+
    2023-06-16
  • Python读取CSV文件的方法和技巧
    使用csv模块或pandas从csv文件中读取数据,csv模块提供基本接口,而pandas提供更高级的功能。技巧包括:使用sniffer确定分隔符,指定分隔符,处理缺失值,按块读取。实战...
    99+
    2024-04-03
    python csv文件 绘制图表
  • Python 响应文件的技巧有哪些?
    Python 是一种强大的编程语言,可用于多种用途,其中包括处理文件。在本文中,我们将探讨 Python 中响应文件的一些技巧,包括如何打开文件、读取文件内容、写入文件以及关闭文件。 打开文件 在 Python 中,使用 open()...
    99+
    2023-09-03
    响应 文件 开发技术
  • 使用python的netCDF4库读取.nc文件 和 创建.nc文件
      使用python netCDF4库读取.nc文件 和 创建.nc文件  1. 介绍  .nc(network Common Data Format)文件是气象上常用的数据格式,python上读取.nc使用较多的库为netCDF4这个库,...
    99+
    2023-06-02
  • 加快Python运行时速度的技巧有哪些
    本篇内容介绍了“加快Python运行时速度的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!0.优化原理在深入探讨代码优化的细节之前...
    99+
    2023-06-16
  • shell按行读取文件的方法有哪些
    这篇文章主要介绍“shell按行读取文件的方法有哪些”,在日常操作中,相信很多人在shell按行读取文件的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell按行读取文件的方法有哪些”的疑惑有所...
    99+
    2023-06-09
  • python中对多个CSV文件进行读取的案例
    这篇文章主要介绍了python中对多个CSV文件进行读取的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的数据类型有哪些python的数据类型:1. 数字类型...
    99+
    2023-06-14
  • 用DIV和CSS建个人网站的技巧有哪些
    今天小编给大家分享一下用DIV和CSS建个人网站的技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • python无法运行文件的原因有哪些
    Python无法运行文件的原因有以下几种: 文件路径错误:如果文件路径错误,Python无法找到文件并运行。确保文件路径是正确的...
    99+
    2024-02-29
    python
  • python运行脚本文件的方法有哪些
    本篇内容介绍了“python运行脚本文件的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python脚本执行的3种方法:(找到自己...
    99+
    2023-07-02
  • Python中最常见的文件操作技巧有哪些
    本篇内容介绍了“Python中最常见的文件操作技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!打开&关闭文件读取或写入文件前...
    99+
    2023-06-16
  • Shell脚本一次读取文件中一行的方法有哪些
    这篇文章主要讲解了“Shell脚本一次读取文件中一行的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本一次读取文件中一行的方法有哪些”吧!写法一:代码如下:#!/bin...
    99+
    2023-06-09
  • Python的数组文件读取方式有哪些优化策略?
    Python作为一门高效的编程语言,拥有丰富的数据处理库和工具。当我们需要处理大量数据时,数组文件的读取和处理就成为了一个重要的问题。Python提供了多种方式来优化数组文件的读取,下面我们将详细介绍这些优化策略并配合演示代码进行说明。 ...
    99+
    2023-07-05
    实时 数组 文件
  • 网页制作中HTML格式和长文件的技巧有哪些
    小编给大家分享一下网页制作中HTML格式和长文件的技巧有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  HTML格式   1、应避免使用交叉标记。不同的浏览...
    99+
    2023-06-08
  • 如何优化Python IDE文件的响应性能? 有哪些技巧和工具可用?
    Python作为一种高级编程语言,以其简洁、易学、功能强大的特点在程序员中广受欢迎。然而,在进行Python开发时,文件响应速度问题往往会成为开发者的痛点,影响开发效率。为此,本文将介绍如何通过优化Python IDE文件的响应性能来提高开...
    99+
    2023-09-11
    响应 ide 文件
  • 一文聊聊Vue组件生命周期的三个阶段(创建、运行和销毁)
    总结生命周期:1)又称:生命周期回调函数、生命周期函数、生命周期钩子。2)含义:vue在关键时刻帮助我们调用一些特殊名称的函数。3)生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。4)生命周期函数中的this指向是 vm...
    99+
    2023-05-14
    Vue 组件 生命周期
  • Python分布式文件系统的开发,有哪些值得注意的技巧?
    随着数据量的不断增长,单机文件系统已经无法满足大规模数据存储和访问的需求。因此,分布式文件系统应运而生。Python作为一种高效、易学、易用的编程语言,已经成为了分布式文件系统开发的重要工具。那么,在Python分布式文件系统的开发过程中...
    99+
    2023-09-29
    分布式 文件 django
  • Python文件面试教程:必备的知识和技能有哪些?
    Python是一种高级编程语言,也是目前最流行的编程语言之一。在面试中,Python文件相关的问题是必问的。这篇文章将介绍Python文件面试的必备知识和技能,包括文件读写、文件操作、文件处理等方面。 一、文件读写 文件读写是Python文...
    99+
    2023-08-14
    文件 面试 教程
  • Python BOT 从 Excel 工作表中提取长列并创建一个数据框来对另一个文件中的一些数字进行编目
    问题内容 我需要创建一个 Python 机器人,从 Excel 文件 1、工作表 1 中提取 C 列,并在文件 2 中进行编目,并计算从 0.00 到 0.99、从 1.00 到 1....
    99+
    2024-02-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作