Advertisement

Python中通过读取文件名来创建列表的方法

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本文介绍了如何在Python编程语言中通过读取文件内容并将其转换为列表,提供了详细的操作步骤和代码示例。 本段落将介绍如何使用Python语言读取指定文件夹下的所有文件名,并把这些名字生成一个列表(List),最后以CSV格式输出到文本段落件。这一技术在数据分析、图像处理及文件管理等多种场景中非常实用。 文中提到使用的几个Python标准库包括`fnmatch`, `os`, `pandas`和`numpy`,以及用于访问命令行参数的`sys`模块。具体来说:`fnmatch`用来实现Unix shell风格的匹配模式;而通过提供大量与操作系统交互功能的接口, `os`则帮助我们完成操作系统的相关任务;强大的数据分析工具库`pandas`, 为数据处理提供了便利,科学计算的基础库numpy则是用于数值运算的重要模块。 文章的核心在于定义了一个名为`ReadSaveAddr` 的函数。该函数接收两个参数:目标文件夹路径(Stra)和文件名匹配模式(Strb)。首先利用 `os.listdir()` 列出指定目录下的所有项目名称,并使用`fnmatch.filter()`根据提供的模式筛选符合条件的文件,存储到列表a_list中。 然后通过pandas库创建一个名为df的数据框对象。该数据框包含由numpy生成序列作为基础数据源并设置列名Addr, 代表地址或文件路径。接着将筛选出的所有文件名称赋值给`df.Addr`, 最后使用 `to_csv()` 方法以CSV格式保存,参数分别设定为不输出行索引和列头信息。 为了支持递归搜索子目录中的所有目标文件, 文章定义了另一个名为`ReadSaveAddr2` 的函数。该函数通过调用os.walk()方法遍历指定路径下的每一个层级,并且使用fnmatch.filter筛选出符合条件的文件,然后利用pd.concat将多个DataFrame合并成一个整体。 运行脚本的方式是:在命令行中输入 `python GetLst.py F:train pos*.png`。其中GetLst.py代表保存的Python脚本名,F:train为需要查找的目标目录路径,“pos*.png”则是文件匹配模式。如果存在符合后缀要求的文件,则这些名称会被收集起来并以CSV格式存储在名为“Get.lst”的文本中。 文章还解释了通过`sys.argv[1]`和`sys.argv[2]`获取命令行参数的方法,这是Python程序接收外部输入的标准实践手段。“sys.argv”是一个包含从命令行传递的参数列表。其中第一个元素是脚本名称本身, 其余部分代表传给该脚本的具体参数。 总的来说,这篇文章提供了一个实用且高效的工具来收集文件夹中的所有文件名,并以结构化的方式将其保存为CSV格式,方便进一步处理和分析。无论是针对图像、日志还是其他类型的文档管理,这个脚本都能发挥重要作用。同时借助递归搜索功能可以确保不会遗漏任何子目录内的相关文件。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Python
    优质
    本教程介绍如何在Python编程语言中使用内置函数和模块从文件系统中读取特定目录下的所有文件名,并将其存储为列表。适合初学者学习掌握。 经常需要读取某个文件夹下所有的图像文件。我使用Python编写了一个简单的代码来读取指定后缀的文件,并将这些文件名生成为CSV格式的文本。 ```python import fnmatch import os import pandas as pd def ReadSaveAddr(Stra, Strb): print(Read:, Stra, Strb) a_list = fnmatch.filter(os.listdir(Stra), *. + Strb) ``` 这段代码定义了一个函数 `ReadSaveAddr`,它接收两个参数:文件夹路径和后缀名。该函数读取指定目录下所有符合特定后缀的文件,并将这些文件名称存储在一个列表中。
  • Python
    优质
    本文介绍了如何在Python编程语言中通过读取文件内容并将其转换为列表,提供了详细的操作步骤和代码示例。 本段落将介绍如何使用Python语言读取指定文件夹下的所有文件名,并把这些名字生成一个列表(List),最后以CSV格式输出到文本段落件。这一技术在数据分析、图像处理及文件管理等多种场景中非常实用。 文中提到使用的几个Python标准库包括`fnmatch`, `os`, `pandas`和`numpy`,以及用于访问命令行参数的`sys`模块。具体来说:`fnmatch`用来实现Unix shell风格的匹配模式;而通过提供大量与操作系统交互功能的接口, `os`则帮助我们完成操作系统的相关任务;强大的数据分析工具库`pandas`, 为数据处理提供了便利,科学计算的基础库numpy则是用于数值运算的重要模块。 文章的核心在于定义了一个名为`ReadSaveAddr` 的函数。该函数接收两个参数:目标文件夹路径(Stra)和文件名匹配模式(Strb)。首先利用 `os.listdir()` 列出指定目录下的所有项目名称,并使用`fnmatch.filter()`根据提供的模式筛选符合条件的文件,存储到列表a_list中。 然后通过pandas库创建一个名为df的数据框对象。该数据框包含由numpy生成序列作为基础数据源并设置列名Addr, 代表地址或文件路径。接着将筛选出的所有文件名称赋值给`df.Addr`, 最后使用 `to_csv()` 方法以CSV格式保存,参数分别设定为不输出行索引和列头信息。 为了支持递归搜索子目录中的所有目标文件, 文章定义了另一个名为`ReadSaveAddr2` 的函数。该函数通过调用os.walk()方法遍历指定路径下的每一个层级,并且使用fnmatch.filter筛选出符合条件的文件,然后利用pd.concat将多个DataFrame合并成一个整体。 运行脚本的方式是:在命令行中输入 `python GetLst.py F:train pos*.png`。其中GetLst.py代表保存的Python脚本名,F:train为需要查找的目标目录路径,“pos*.png”则是文件匹配模式。如果存在符合后缀要求的文件,则这些名称会被收集起来并以CSV格式存储在名为“Get.lst”的文本中。 文章还解释了通过`sys.argv[1]`和`sys.argv[2]`获取命令行参数的方法,这是Python程序接收外部输入的标准实践手段。“sys.argv”是一个包含从命令行传递的参数列表。其中第一个元素是脚本名称本身, 其余部分代表传给该脚本的具体参数。 总的来说,这篇文章提供了一个实用且高效的工具来收集文件夹中的所有文件名,并以结构化的方式将其保存为CSV格式,方便进一步处理和分析。无论是针对图像、日志还是其他类型的文档管理,这个脚本都能发挥重要作用。同时借助递归搜索功能可以确保不会遗漏任何子目录内的相关文件。
  • 优质
    本文介绍了如何创建包含多个文件名的文本列表,详细讲解了几种简单有效的方法和技巧,帮助读者轻松管理文件。 要创建一个批处理文件来提取当前目录下所有文件的名称并保存到列表中,请按照以下步骤操作: 1. 创建一个新的文本段落件,并将其格式设置为txt。 2. 在该文本段落件内输入命令:`DIR *.* /B > LIST.TXT` 3. 将此记事本段落件后缀名从.txt改为.bat。系统会弹出一个重命名对话框,点击“是”确认更改。 4. 双击新创建的批处理文件(例如生成文件名文本列表.bat),这将执行命令并在当前目录下生成名为LIST.TXT的新文本段落件,其中包含了所有现有文件的名字。 总结来说,上述方法的核心思想就是在需要提取名称的文件夹内保存一个*.bat格式的小脚本,并通过双击运行它来实现自动化获取目标目录中的全部文件名列表。
  • 在VS2010拖拽
    优质
    本文章介绍了如何在Visual Studio 2010环境下,利用简便的操作——拖拽文件至代码编辑器,从而轻松获得所需的文件路径或名称的方法。 在VS2010上创建一个演示程序,通过拖拽文件到列表框来获取文件名。
  • Python解决Pandas时报错
    优质
    本文介绍了如何使用Python中的Pandas库安全地读取含有中文字符的文件名时避免出现错误的具体方法。 解决Python使用pandas读取含有中文文件名时报错的问题的方法。
  • C# EF 动态
    优质
    本文介绍了如何在C#中使用Entity Framework动态地获取和处理数据库中的表名,适用于需要灵活操作数据库结构的应用场景。 在使用EF(Entity Framework)进行数据库操作时,如果表名是根据日期动态生成的,如何实现不固定表名的情况下的链接呢?对于初学者来说,在这种情况下应该如何操作,希望能得到指导。
  • Python及append详解
    优质
    本篇文章详细介绍了如何使用Python语言创建一个空列表,并深入讲解了append()方法的功能和用法。通过示例代码帮助读者理解实现数据添加的具体步骤。 在Python中使用list的方法包括创建列表、表达其中的元素以及如何对其进行修改或删除操作。这里以Python 3.6版本为例进行介绍。 ### 创建空列表 可以通过以下两种方式之一来创建一个空的列表: - 使用 `list()` 函数:`l = list()` - 或者直接使用方括号:`l = []` ### 列表中元素的操作 #### 元素添加及访问 假设我们有一个包含水果名称的列表: ```python fruits = [apple, banana, pear, grapes, pineapple, watermelon] ``` 要获取该列表中的第三个元素(注意Python索引从0开始计数),可以使用以下代码: ```python print(fruits[2]) # 输出结果为:pear ``` #### 修改列表中已有的元素 如果需要将列表中的某个特定位置的水果名称替换,例如把“pear”改为“tomato”,则可以通过索引进行更新: ```python fruits[2] = tomato print(fruits) # 输出结果为:[apple, banana, tomato, grapes, pineapple, watermelon] ``` 以上就是Python中关于列表的基本操作介绍。
  • Python PandasCSV后获标签
    优质
    本文介绍了如何使用Python的Pandas库读取CSV文件,并提供了获取数据帧中所有列标签的具体方法和示例代码。 今天为大家分享如何使用Python的pandas库读取CSV文件后获取列标签的方法。这具有很好的参考价值,希望能对大家有所帮助。一起跟随文章继续了解吧。
  • 使用 matplotlib Python并绘制 x, y 坐标
    优质
    本教程介绍如何利用Python中的matplotlib库,从文件中读取数据,并将x,y坐标绘制成图表,适合初学者学习实践。 1. `test.txt` 文件中的数据以逗号分隔:第一列是 x 坐标,第二列是 y 坐标。文件内容如下: ``` 1.1,2 2.1,2 3.1,3 4.1,5 40,38 42,41 43,42 ``` 2. Python 部分代码: ```python #!/usr/bin/python # coding: utf-8 import matplotlib.pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParams[font.family] = sans-serif mpl.rcParams[font.sans-serif] = [NSimSun, T] ``` 请注意,`mpl.rcParams[font.family]` 和 `mpl.rcParams[font.sans-serif]` 的语法需要更正为 `font.family` 和 `font.sans-serif`。