Python程序遍历目录并读取文件信息

2023-12-31

我刚刚开始使用 Python,但已经发现它比 Bash shell 脚本更加高效。

我正在尝试编写一个 Python 脚本,该脚本将遍历从我启动脚本的目录分支的每个目录,并且对于它遇到的每个文件,加载此类的实例:

class FileInfo:

    def __init__(self, filename, filepath):
        self.filename = filename
        self.filepath = filepath

filepath 属性将是从根 (/) 开始的完整绝对路径。这是我希望主程序执行的操作的伪代码模型:

from (current directory):

    for each file in this directory, 
    create an instance of FileInfo and load the file name and path

    switch to a nested directory, or if there is none, back out of this directory

我一直在阅读有关 os.walk() 和 ok.path.walk() 的内容,但我想要一些关于在 Python 中实现此功能的最直接方法是什么的建议。提前致谢。


I'd use os.walk执行以下操作:

def getInfos(currentDir):
    infos = []
    for root, dirs, files in os.walk(currentDir): # Walk directory tree
        for f in files:
            infos.append(FileInfo(f,root))
    return infos
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python程序遍历目录并读取文件信息 的相关文章

  • 是否有解决方法可以通过 CoinGecko API 安全检查?

    我在工作中运行我的代码 一切都很顺利 但在不同的网络 家庭 WiFi 上 我不断收到403访问时出错CoinGecko V3 API https www coingecko com api documentations v3 可以观察到 在
  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • YOLOv8获取预测边界框

    我想将 OpenCV 与 YOLOv8 集成ultralytics 所以我想从模型预测中获取边界框坐标 我该怎么做呢 from ultralytics import YOLO import cv2 model YOLO yolov8n pt
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 为什么 Pickle 协议 4 中的 Pickle 文件是协议 3 中的两倍,而速度却没有任何提升?

    我正在测试 Python 3 4 我注意到 pickle 模块有一个新协议 因此 我对 2 个协议进行了基准测试 def test1 pickle3 open pickle3 wb for i in range 1000000 pickle
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 将 Python 中的日期与日期时间进行比较

    所以我有一个日期列表 datetime date 2013 7 9 datetime date 2013 7 12 datetime date 2013 7 15 datetime date 2013 7 18 datetime date
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s

随机推荐

  • SpringBoot - BeanDefinitionOverrideException:无效的 bean 定义

    我正在尝试使用 Spring Boot 在本地设置 DynamoDB 最初 我的设置正常运行 并且能够通过存储库写入 保存到 DynamoDB 从那时起 我添加了更多类来构建我的应用程序 现在 当我尝试启动我的应用程序时 出现以下异常 or
  • 我已经创建了一个带有套接字的 Java 服务器,那么如何打印到所有套接字?

    我已经尝试了一段时间了 我希望多个客户端同时接收多个输入 有一个问题 如果一个客户端说 print2all Hi 我希望服务器向所有客户端打印 Hi 我知道如何处理它来打印它 只是打印到所有客户端就是问题所在 这是我到目前为止所拥有的 Se
  • 如何根据 GHCi 中的记录制作镜头

    我想玩一下Lens图书馆一点 我已将其加载到 GHCi 中并创建了带有适当下划线的记录数据类型 gt data Foo a Foo arg1 Int arg2 a 我想制作镜片Foo使用makeLenses模板 我想这样做 而不需要阅读整套
  • 跨度与浮动垂直对齐

    我在 div 内垂直对齐 3 个跨度时遇到问题 这很容易实现 但是当我使用浮动时垂直对齐不起作用 我希望浅蓝色条垂直居中 代码 container text 1 float left padding right 10px bar backg
  • 如何使用 Talend tREST 上传文件?

    Experts 我需要使用 Talend tREST 组件将文件上传到 Zephyr JIRA 我不知道在 httpbody 部分中给出的格式 语法 例如curl的 F 电子邮件受保护 cdn cgi l email protection
  • 如果从本地数据库提取,LINQ-to-SQL 类不会实现 INotifyPropertyChanging 和 INotifyPropertyChanged

    我在 LINQ to SQL 类中修改了数据源 通过旧的删除和拖回方法 并惊讶地发现 INotifyPropertyChanging 和 INotifyPropertyChanged 接口不再在生成的类 MyDb designer cs 中
  • Minecraft 服务器的世界边界修剪脚本

    我正在尝试创建一个脚本 每天凌晨 5 点修剪 Minecraft 服务器的世界 到目前为止 它运行命令 wb NAME TRIM 其中 NAME 是世界的名称 然后运行命令 wb TRIM CONNECT 以初始化修剪过程 bin bash
  • 我可以在 firestore 中查询嵌套文档值吗?

    我想在 firestore 中搜索以下数据 收藏 gt 文档 gt date month 10 year 2017 var ref db collection collection doc document ref where date m
  • AWS Athena 对于 api 来说太慢了?

    计划是从 aws 数据交换获取数据 将其移动到 s3 存储桶 然后通过 aws athena 查询数据 api 一切正常 只是感觉有点慢 无论数据集还是查询 athena 响应时间都不能低于 2 秒 对于 API 来说 这已经太多了 我检查
  • Jooq批量记录插入

    我目前正在尝试批量插入许多记录 2000 而 Jooq 的batchInsert 没有执行我想要的操作 我将 POJO 转换为 UpdatableRecords 然后执行 batchInsert 它为每条记录执行插入 因此 Jooq 为每个
  • 从“int”到“const char*”的无效转换[重复]

    这个问题在这里已经有答案了 我在用着gcc在代码块上 我想编写一个使用记录数组的函数 但是我不断收到错误 invalid conversion from int to const char 代码 include
  • Pandas:获取去年同一天的值

    我正在寻找一种方法 如何获取前一年同一天的值 F e 我们有 2014 年 1 月 1 日的值 我想创建一个新列 其中包含这一天的值 但来自一年前 表的示例 我想获取 Previos Year 列 Date Ticks Previos Ye
  • 如何在训练期间每个时期结束时调用测试集?我正在使用张量流

    我正在使用 Tensorflow Keras 开发一个 CNN 模型 其中我将数据集分为训练集 验证集和测试集 我需要在每个时期结束时调用测试集以及训练集和验证集来评估模型性能 下面是我跟踪训练集和验证集的代码 result dic epo
  • 如何注入特定的缓存池?

    在我的 Symfony 5 应用程序中 我想针对不同的任务以及不同的环境使用不同的缓存 例如我的配置如下所示 framework cache pools cache auth adapter cache adapter redis prov
  • 将 nginx.conf 添加到 Kubernetes 集群

    我怎样才能通过nginx conf配置文件到 Kubernetes 集群内运行的 nginx 实例 您可以创建一个 ConfigMap 对象 然后将值作为文件安装在您需要的位置 apiVersion v1 kind ConfigMap me
  • 说明:register_shutdown_function [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 什么是register shutdo
  • 我已经被 async/await 宠坏了!现在正在努力解决明确的任务延续问题

    编辑 接受后 它可能不会立即显而易见 但 Servy 的答案是正确的 不需要自定义实现Unwrap在 monodroid 下 在我的评论中我说它不存在 但它确实存在 End edit 我正在编写一堆使用我们的 RESTful Web 服务的
  • Pytesseract - 使用用户模式

    我正在尝试将 tesseract 的用户模式与 pytesseract 一起使用 但似乎无法使该命令正常工作 这看起来应该相当简单 但文档很少 我使用的是 tesseract 3 05 01 这样做是行不通的 pytesseract ima
  • 在 Vim 中更改大小写

    Vim 中是否有命令可以更改所选文本的大小写 Visual select the text http vimdoc sourceforge net htmldoc visual html visual use then U for uppe
  • Python程序遍历目录并读取文件信息

    我刚刚开始使用 Python 但已经发现它比 Bash shell 脚本更加高效 我正在尝试编写一个 Python 脚本 该脚本将遍历从我启动脚本的目录分支的每个目录 并且对于它遇到的每个文件 加载此类的实例 class FileInfo