【自然语言处理概述】“海量”文件遍历

news2024/11/26 4:40:25

【自然语言处理概述】“海量”文件遍历


在这里插入图片描述


作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程爱好者,期待和大家一起学习,一起进步~
.
博客主页ぃ灵彧が的学习日志
.
本文专栏人工智能
.
专栏寄语:若你决定灿烂,山无遮,海无拦
.
在这里插入图片描述

文章目录

  • 【自然语言处理概述】“海量”文件遍历
  • 一、前沿
    • (一)、任务描述
    • (二)、环境配置
  • 二、代码部分
    • (一)、数据准备
    • (二)、实现“海量”文件的类型与存储空间统计
    • (三)、小结
  • 三、总结


一、前沿

(一)、任务描述

在处理自然语言处理领域的任务时,有些新闻数据集中每条数据都是一个单独的文件。对海量数据文件进行空间占用、类型等分析十分必要,可加深用户对数据的了解,进而在处理数据时合理分配资源。


(二)、环境配置

“海量”文件遍历旨在对文件夹下的大规模数据进行数据类型及占用存储空间的统计。本次实验平台为百度AI Studio,Python版本为Python3.7,下面介绍如何通过Python编程方式实现“海量”文件的遍历。


二、代码部分

(一)、数据准备

为模拟“海量”文件,首先需要准备一个包含有大规模文件的数据包,然后再搞数据包上进行后续处理。为方便演示,我们使用自然语言处理领域中开源的网络数据集:新闻文本数据集,进行后续试验。

引用的数据集为压缩包格式(*.zip),因此需要将其解压至当前的工作空间中,为实现自动解压,提供解压下列函数unzip_data(src_path,target_path),参数为待解压文件与将要解压到的文件夹名称,调用定义好的解压函数,分别将两个数据集进行解压。


import zipfile
def unzip_data(src_path,target_path):
    # 解压原始数据集,将src_path路径下的zip包解压至target_path目录下
    if(not os.path.isdir(target_path)):     
        z = zipfile.ZipFile(src_path, 'r')
        z.extractall(path=target_path)
        z.close()

unzip_data('data/data19638/insects.zip','data/data19638/insects')
unzip_data('data/data55217/Zebra.zip','data/data55217/Zebra')

(二)、实现“海量”文件的类型与存储空间统计

通过给定目录,统计所有的不同子文件类型及占用存储空间的大小。为了实现代码的可复用及模块化,首先,定义一个专门用于实现类型与存储空间统计的函数:

import os
 
"""
通过给定目录,统计所有的不同子文件类型及占用内存
"""
size_dict = {}
type_dict = {}
def get_size_type(path):
    
    files = os.listdir(path)
    for filename in files:
        temp_path = os.path.join(path, filename)
        if os.path.isdir(temp_path):
            # 递归调用函数,实现深度文件名解析
            get_size_type(temp_path)     
        elif os.path.isfile(temp_path):
            # 获取文件后缀
            type_name=os.path.splitext(temp_path)[1]   
            #无后缀名的文件
            if not type_name:
                type_dict.setdefault("None", 0)
                type_dict["None"] += 1
                size_dict.setdefault("None", 0)
                size_dict["None"] += os.path.getsize(temp_path)
            # 有后缀的文件
            else:
                type_dict.setdefault(type_name, 0)
                type_dict[type_name] += 1
                size_dict.setdefault(type_name, 0)
                # 获取文件大小
                size_dict[type_name] += os.path.getsize(temp_path)  
    

调用上述函数实现,对步骤1中的文件进行统计:

path= "data/"
get_size_type(path)
for each_type in type_dict.keys():
    print ("%5s下共有【%5s】的文件【%5d】个,占用内存【%7.2f】MB" %     
            (path,each_type,type_dict[each_type],\
            size_dict[each_type]/(1024*1024)))
print("总文件数:  【%d】"%(sum(type_dict.values())))
print("总内存大小:【%.2f】GB"%(sum(size_dict.values())/(1024**3)))

输出结果如下图所示:

在这里插入图片描述


(三)、小结

至此,已经实现了如何动手编写一个Python小程序,统计路径下文件的类型及其占用空间的大小,这是一个非常实用的小技巧,可以帮助研究者快速实现文件的信息对处理这些文件数据所需的资源进行合理规划、调配。


三、总结

本系列文章内容为根据清华社出版的《自然语言处理实践》所作的相关笔记和感悟,其中代码均为基于百度飞桨开发,若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!

最后,引用本次活动的一句话,来作为文章的结语~( ̄▽ ̄~)~:

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

ps:更多精彩内容还请进入本文专栏人工智能,进行查看,欢迎大家支持与指教啊~( ̄▽ ̄~)~

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/50427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有关C++的异常机制

目录 为什么要有异常: 异常的抛出和捕获: 为什么要有异常: 异常在C用于错误处理,C语言中一般使用返回值表示错误,C对于错误处理进行了拓展,统一使用异常机制来处理程序中发生的错误 C的异常处理包括两个部分…

Myeclipse配置tomcat服务器

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏:国学周更-心性养成之路…

[附源码]Python计算机毕业设计Django的小说阅读系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

浅谈linux - 线程的基本应用

概述 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 注意 线程和进程之间的区别 1. 线程是执行的基本单位;进程是资源分配的基本单位。 2. 线程共享进程的资源…

【Eureka】【源码+图解】【七】Eureka的下线功能

【Eureka】【源码图解】【六】Eureka的续约功能 目录6. 下线6.1 shutdown()6.2 服务端cancel6.3 同步其他server节点6. 下线 主动下线方式 服务端:/eureka/apps/{application.name}/{instance-id},以本系列文章的helloworld为例,发送DELETE…

程序员学习 CPU 有什么用?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在上一篇文章里,我们聊到了计算机的冯诺依曼架构,以及计算机的五大部件:控制器、运算器、存储器、输入…

最全面的Spring教程(五)——文件上传与下载

前言 本文为 【SpringMVC教程】文件上传与下载 相关知识&#xff0c;具体将对使用MultipartResolver处理文件上传的步骤&#xff0c;两种文件下载方式&#xff08;直接向response的输出流中写入对应的文件流、使用 ResponseEntity<byte[]>来向前端返回文件&#xff09;等…

老油条表示真干不过,部门新来的00后测试员已把我卷崩溃,想离职了...

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&#x…

降价背后,函数计算规格自主选配功能揭秘

作者&#xff1a;吴森梵&#xff08;仰森&#xff09; 在刚刚结束的 2022 杭州 云栖大会上&#xff0c;阿里云宣布函数计算 FC 开启全面降价&#xff0c;vCPU 单价降幅 11% &#xff0c;其他的各个独立计费项最高降幅达 37.5% 。函数计算 FC 全面降价&#xff0c;让 Serverle…

【Pandas数据处理100例】(七十五):Pandas的where()函数使用方法

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

线程篇(JAVA)

&#x1f495;前言&#xff1a;作者是一名正在学习JAVA的初学者&#xff0c;每天分享自己的学习笔记&#xff0c;希望能和大家一起进步成长&#x1f495; 目录 线程&#xff08;重点&#xff09; 第一种线程的实现 第二种线程的实现 线程的执行原理 线程的生命周期 休眠 …

醇酰基转移酶基因对猕猴桃酯生物合成的作用

文章信息 题目&#xff1a;Alcohol acyl transferase genes at a high-flavor intensity locus contribute to ester biosynthesis in kiwifruit 刊名&#xff1a;Plant Physiology 作者&#xff1a;Edwige J F Souleyre et al. 单位&#xff1a;New Zealand Institute for…

工业互联网数据监测预警解决方案

一、工业互联网数据安全趋势 随着“云、大、物、移、智”等新一代信息技术与制造业的融合发展&#xff0c;数字化生产、网络化协同、个性化定制、服务化延伸等生产运营模式逐渐成为常态&#xff0c;工业互联网数据不断走向开放流动。但原本封闭在工业现场的数据上网上云会带来…

论互联网公司的盈利能力

这个月&#xff0c;互联网公司三季度财报基本披露完毕。其中的共同点是都开始降本增效&#xff0c;提升盈利能力&#xff08;或者还在努力扭亏为盈&#xff09;。互联网公司基本是面向C端消费者的&#xff0c;京东创始人刘强东曾提出一个贯穿消费行业的“十节甘蔗”理论&#x…

[附源码]计算机毕业设计springboot健身房预约平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【剧前爆米花--爪哇岛寻宝】面向对象的三大特性——封装、继承以及多态的详细剖析(中——多态)。

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaSE语法与底层详解》 文章分布&#xff1a;这是一篇关于Java面向对象三大特性——多态的文章&#xff0c;在本篇文章中我会分享多态的一些基础语法以及类在继承时代码的底层逻辑和执行顺序。 目录 多态的定义及实现条件 多态…

AWS动手实验 - 创建一个Web3网站

实验操作和录播 亚马逊云科技开发者社区 注意事项 按照操作手册进行即可&#xff0c;需要注意到的几个地方&#xff1a; 1&#xff1a;EC2 的 scale 可以不用设置为large那么高&#xff0c;small就够用了。 2&#xff1a;创建堆栈&#xff0c;是点击这个那个按钮&#xff0…

水土保持监测,无人机倾斜摄影该如何做?

水土监测在传统监测方法中存在着许多监测死角。近年来&#xff0c;随着无人机的普及&#xff0c;无人机倾斜摄影三维建模技术在水土保持领域发挥了巨大作用。 我国具有地形地貌范围广&#xff0c;地质情况复杂等特点&#xff0c;每年地质灾害造成很多人员伤亡和财产损失&#…

数商云SCM管理系统库存管理功能助力新能源汽车企业仓储管理更高效

在全球电动化浪潮下&#xff0c;新能源汽车近年来迎来快速发展&#xff0c;但同时&#xff0c;随之而来其面临的关键零部件供应链安全问题也愈来愈突出&#xff0c;新能源汽车供应链格局正在面临重塑&#xff0c;保障新能源汽车产业健康发展仍需持续发力。 随着国际形势突变&a…

Markdown基本语法

描述 Markdown 是一种轻量级的「标记语言」&#xff0c;可读、直观、学习成本低。 1. 强调 1.1 斜体&#xff08;单*、单_&#xff09; 例&#xff1a; *AlexYY* _AlexYY_ 效果&#xff1a; AlexYY AlexYY 1.2 加粗&#xff08;双*、双_&#xff09; 例&#xff1a; *Ale…