YOLO系列笔记(十五)—— Python 文件与目录操作指南:掌握 os 模块的常用命令

掌握 os 模块的常用命令

  • 前言
  • 文件操作
    • 1. 检查文件是否存在:os.path.exists
    • 2. 删除文件:os.remove
    • 3. 重命名文件:os.rename
    • 4. 获取文件大小:os.path.getsize
    • 5. 读取文件内容:with open&r
    • 6. 写入文件内容:with open&w
  • 目录操作
    • 1. 检查目录是否存在:os.path.exists
    • 2. 创建目录:os.makedirs
    • 3. 删除目录:os.rmdir
    • 4. 列出目录内容:os.listdir
    • 5. 获取当前工作目录:os.getcwd
    • 6. 改变当前工作目录: os.chdir
  • 路径操作
    • 1. 获取文件的绝对路径:os.path.abspath
    • 2. 分离文件路径和文件名:os.path.split
    • 3. 获取文件扩展名:os.path.splitext
    • 4. 连接路径:os.path.join
  • 权限操作
    • 1. 更改文件权限:os.chmod
    • 2. 更改文件所有者(需要管理员权限或在 UNIX 系统上运行):
  • 其他操作
    • 1. 获取文件的修改时间: os.path.getmtime
    • 2. 复制文件(需要 `shutil` 模块):
    • 3. 移动文件或目录(需要 `shutil` 模块):
  • 结语

前言

在关于神经网络的学习中,Python 是非常常见且易于掌握的编程语言之一。笔者在学习的时候发现神经网络会经常涉及到一些文件操作,比如获得文件的路径并拼接,之后进行数据集的分类和移动等等,经常会需要编写Python脚本进行文件操作。在 Python 中,os 模块提供了一系列用于文件和目录操作的常见命令。在这篇文章中,笔者会介绍一些常见的 os 模块相关的文件处理命令并附上示例代码。这些命令被分类为文件操作、目录操作、路径操作、权限操作和其他操作。其中文件、目录、路径操作和其他操作中的文件移动操作会被使用得非常频繁,建议大家优先了解这些命令并熟练掌握。

如果觉得该笔记对您有用的话,可以点个小小的赞吗,或者点赞收藏关注一键三连ヾ(◍’౪`◍) ~ 谢谢!!

文件操作

1. 检查文件是否存在:os.path.exists

import osif os.path.exists('file.txt'):print('File exists')
else:print('File does not exist')

2. 删除文件:os.remove

import osos.remove('file.txt')

3. 重命名文件:os.rename

import osos.rename('old_name.txt', 'new_name.txt')

4. 获取文件大小:os.path.getsize

import osfile_size = os.path.getsize('file.txt')
print(f'File size: {file_size} bytes')

5. 读取文件内容:with open&r

with open('file.txt', 'r') as file:    # ' r '- 只读模式content = file.read()print(content)

6. 写入文件内容:with open&w

with open('file.txt', 'w') as file:file.write('Hello, World!')

目录操作

1. 检查目录是否存在:os.path.exists

import osif os.path.exists('directory'):print('Directory exists')
else:print('Directory does not exist')

2. 创建目录:os.makedirs

import osos.makedirs('new_directory', exist_ok=True)
# exists_ok意为当'new_directory'存在时,则不创建该目录

3. 删除目录:os.rmdir

import osos.rmdir('directory')  # 仅当目录为空时才可以删除

4. 列出目录内容:os.listdir

import osfiles = os.listdir('directory')
print(files)

5. 获取当前工作目录:os.getcwd

import oscurrent_dir = os.getcwd()
print(f'Current directory: {current_dir}')

6. 改变当前工作目录: os.chdir

import osos.chdir('new_directory')

路径操作

1. 获取文件的绝对路径:os.path.abspath

import osabs_path = os.path.abspath('file.txt')
print(f'Absolute path: {abs_path}')

2. 分离文件路径和文件名:os.path.split

import osdir_name, file_name = os.path.split('/path/to/file.txt')
print(f'Directory: {dir_name}, File: {file_name}')

3. 获取文件扩展名:os.path.splitext

import osfile_name, file_ext = os.path.splitext('file.txt')
print(f'File name: {file_name}, File extension: {file_ext}')

4. 连接路径:os.path.join

import osfull_path = os.path.join('directory', 'file.txt')
print(f'Full path: {full_path}')

权限操作

1. 更改文件权限:os.chmod

import osos.chmod('file.txt', 0o755)

2. 更改文件所有者(需要管理员权限或在 UNIX 系统上运行):

import osos.chown('file.txt', uid, gid)

其他操作

1. 获取文件的修改时间: os.path.getmtime

import os
import timemod_time = os.path.getmtime('file.txt')
print(f'Modification time: {time.ctime(mod_time)}')

2. 复制文件(需要 shutil 模块):

import shutilshutil.copy('source.txt', 'destination.txt')

3. 移动文件或目录(需要 shutil 模块):

import shutilshutil.move('source.txt', 'new_location/source.txt')

结语

掌握 os 模块的文件和目录操作,可以大大提高我们处理文件系统相关任务的效率。无论是自动化脚本、数据处理,还是项目管理,这些技能都能助你一臂之力。希望本篇文章能够帮助大家更好地理解和应用这些常用命令。如果你有更多的需求,可以查阅 Python 官方文档,了解 os 模块更多的功能和用法。编程是一项需要不断学习和积累的技能,希望大家在实践中不断进步,享受编程带来的乐趣和便利!

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

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

相关文章

【重学C语言】十四、结构体

【重学C语言】十四、结构体 结构体初始化和使用声明注意点结构体嵌套结构体数组字节对齐对齐数(Alignment)对齐要求对齐规则结构体成员的对齐示例编译器指令和属性为什么要对齐跨平台兼容性位段(位域)结构体 在C语言中,结构体(struct&#x

跨平台应用开发进阶(五十四)cordova自定义插件

文章目录 一、前言二、cordova 自定义插件2.1 cordova 安装2.2 cordova 创建 android 工程2.3 使用 cordova 官方提供的插件2.4 创建自定义插件 三、拓展阅读 一、前言 在前期博文《ReactNative进阶(一):ReactNative 学习资料汇总》中&#…

C++基础与函数解析 | 函数的声明与定义 | 函数调用 | 函数详解 | 函数重载 | 重载解析 | 递归函数 | 内联函数 | 函数指针

文章目录 一、函数基础1.基本函数定义2.函数的声明与定义3.函数调用 二、函数详解1.参数2.函数体3.返回类型 三、函数重载与重载解析1.函数重载2.重载解析 四、函数相关的其他内容1.递归函数2.内联函数3.constexpr函数(C11起)4.consteval 函数 (C20 起 )…

Redis - hiredis源码安装和接口使用介绍

一、hiredis源码安装说明 本文创作基于 hiredisv1.2.0版本 1.简介 hiredis是一个用于与Redis交互的C语言客户端库。它提供了一组简单易用的API,使开发人员可以轻松地连接到Redis服务器,并执行各种操作,如设置和获取键值对、执行命令、订阅和…

C语言 | Leetcode C语言题解之第92题反转链表II

题目: 题解: struct ListNode *reverseBetween(struct ListNode *head, int left, int right) {// 因为头节点有可能发生变化,使用虚拟头节点可以避免复杂的分类讨论struct ListNode *dummyNode malloc(sizeof(struct ListNode));dummyNode…

案例实践 | 招商局集团基于长安链的双循环航运贸易应用

案例名称-招商局双循环航运贸易联盟链 ■ 建设单位 招商局集团 ■ 用户群体 货主企业、物流企业、基础设施运营商等各参与主体 ■ 应用成效 已赋能产业链上下游超1.2万家中小微企业,累计提供普惠金融超830亿元 案例背景 作为全球贸易大国,我国约…

uniapp外部scss文件使用scss语法不生效.

项目场景: 页面的样式重复我想提取出来作为公共样式 新建scss文件,然后引入,结果样式不生效 问题描述: uniapp官网示例引入css的方法 /* 绝对路径 */ import url(/common/uni.css); import url(/common/uni.css); /* 相对路径 …

风电功率预测 | 基于CNN卷积神经网络的风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测完整代码风电功率预测 基于卷积神经网络(Convolutional Neural Network, CNN)的风电功率预测可以通过以下步骤实现: 数据准备:收集与风电场发电功率相关的数据,包括风速、风向、温度、湿度等气象数据以及风电场的历史功率数据。 数据预处理:对…

Cadence 16.6 绘制PCB封装时总是卡死的解决方法

Cadence 16.6 绘制PCB封装时总是卡死的解决方法 在用Cadence 16.6 PCB Editor绘制PCB封装时候,绘制一步卡死一步,不知道怎么回事儿,在咨询公司IT后,发现是WIN系统自带输入法的某些热键与PCB Editor有冲突,导致卡死。 …

Android视频开发入门指南

文章目录 1. 概述2. 视频播放与控制2.1 VideoView2.2 MediaPlayer 3. 视频录制与处理4. 视频编解码与格式转换4.1 MediaCodec4.2 FFmpeg 5. 视频流媒体与直播6. 进阶学习6.1 自定义视频播放器6.2 视频编解码6.3 视频流媒体和直播6.4 视频AI 7. 实践项目8. 结语 现在&#xff0c…

系统思考—团队学习

结束昨日435期JSTO“探索学习的新视界:硬核工具分享”,有伙伴分享的提升效率的AI工具,也有自我发现团队问题解决的工具,伙伴们都在各自的领域实践、吸收、反馈、复盘。这次的团队学习不仅是知识的传递,更是一场脑力激荡…

Flutter 中的 Drawer 小部件:全面指南

Flutter 中的 Drawer 小部件:全面指南 在移动应用设计中,Drawer 是一种常见的导航组件,它提供了一种从屏幕边缘滑出菜单的方式,让用户可以快速切换应用的不同部分。在 Flutter 中,Drawer 小部件实现了这一功能&#x…

线性系统(二)

线性系统(二) 1.直观理解线性方程组结构2. 不同解的结论3. 更一般的高斯-约旦消元法4.齐次线性方程组 链接: 线性系统(一) 1.直观理解线性方程组结构 长这样,方程就有解,即相交坐标。 长这样,…

LLAMA-Factory微调chatglm3-6b出现KeyError: ‘instruction‘错误

之前我也遇到过这样的错误就是在LLAMA-Factory微调chatglm3-6b时报错KeyError: ‘instruction‘。那时候是因为数据现存在少部分格式不同,这才导致KeyError: instruction错误。 但是候来又遇到了KeyError: ‘instruction‘,但这次没有格式不同的问题。 …

探测器 烟尘水汽 笔记

目录 探测器穿透水汽 1. 毫米波雷达 2. 红外摄像机 3. LIDAR(光检测与测距) 4. 热成像仪 5. 超声波传感器 探测器穿透烟尘 探测器穿透水汽 能穿透水汽的探测设备主要包括使用特定波段的雷达和红外技术的设备。这些技术能有效应对由雾、雨、水汽等…

[论文笔记]Corrective Retrieval Augmented Generation

引言 今天带来论文Corrective Retrieval Augmented Generation的笔记,这是一篇优化RAG的工作。 大型语言模型(LLMs) inevitable(不可避免)会出现幻觉,因为生成的文本的准确性不能仅仅由其参数化知识来确保。尽管检索增强生成(RAG)是LLMs的一个可行补充…

Kibana使用

一、什么是Kibana   Kibana 是一个开源的分析和可视化平台,Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。 Kibana使用&#xff1a…

Jenkins 忘记登录密码怎么办

在安装Jenkins中遇到忘记登录密码该怎么呢?下面是一个解决办法 1. 先停止jenkins服务 我是用tomcat启动的jenkis 2. 找到config.yaml文件 find / -name config.xml命令执行后找到如下结果: /root/.jenkins/config.xml /root/.jenkins/users/admin_839…

scanf读取标准输入

内容 scanf函数的原理 多种数据类型混合输入 常用的数据输入/输出函数 程序员可以给程序输入数据,程序处理后会返回一个输出。C语言通过函数库读取标准输入,然后通过对应函数处理将结果打印到屏幕上,printf函数可以将结果打印到屏幕上。下…

Java项目:基于ssm框架实现的家政服务网站管理系统分前后台(B/S架构+源码+数据库+毕业论文+答辩PPT)

一、项目简介 本项目是一套基于ssm框架实现的家政服务网站管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 二、技术实现 jdk版本:1.…