当前位置: 首页 > news >正文

Python---文件和文件夹操作

os模块

在Python中文件和文件夹的操作要借助os模块里面的相关功能,具体步骤如下:

第一步:导入os模块

import os

第二步:调用os模块中的相关方法

os.函数名()

与文件操作相关方法

编号函数功能
1os.rename(目标文件名称,新文件名称)对文件进行重命名操作
2os.remove(要删除文件名称)对文件进行删除操作

案例:把Python项目目录下的python.txt文件,更名为linux.txt,休眠20s,刷新后,查看效果,然后对这个文件进行删除操作。


# 第一步:导入os模块
import os
# 第三步:引入time模块
import time


# 第二步:使用os.rename方法对python.txt进行重命名
os.rename('python.txt', 'linux.txt')

# 第四步:休眠20s
time.sleep(20)

# 第五步:删除文件(linux.txt)
os.remove('linux.txt')


与文件夹操作相关操作

前提:

import os

相关方法:

编号函数功能
1os.mkdir(新文件夹名称)创建一个指定名称的文件夹
2os.getcwd()current work directory,获取当前目录名称
3os.chdir(切换后目录名称)change directory,切换目录
4os.listdir(目标目录)获取指定目录下的文件信息,返回列表
5os.rmdir(目标目录)用于删除一个指定名称的"空"文件夹

案例1:


# 导入os模块
import os# 1、使用mkdir方法创建一个images文件夹
# os.mkdir('images')
# os.mkdir('images/avatar')# 2、getcwd = get current work directory
print(os.getcwd())# 3、os.chdir,ch = change dir = directory切换目录
os.chdir('images/avatar')
print(os.getcwd())# 切换到上一级目录 => images
os.chdir('../../')
print(os.getcwd())# 4、使用os.listdir打印当前所在目录下的所有文件,返回列表
print(os.listdir())# 5、删除空目录
os.rmdir('images/avatar')

案例2:准备一个static文件夹以及file1.txt、file2.txt、file3.txt三个文件

① 在程序中,将当前目录切换到static文件夹

② 创建一个新images文件夹以及test文件夹

③ 获取目录下的所有文件

④ 移除test文件夹


# 导入os模块
import os


# ① 在程序中,将当前目录切换到static文件夹
os.chdir('static')
# print(os.getcwd())

# ② 创建一个新images文件夹以及test文件夹
# os.mkdir('images')
# os.mkdir('test')

# ③ 获取目录下的所有文件
# print(os.listdir())
for file in os.listdir():
    print(file)

# ④ 移除test文件夹
os.rmdir('test')


文件夹删除补充(递归删除、慎重!)


# 导入shutil模块
import shutil

# 递归删除非空目录
shutil.rmtree('要删除文件夹路径')


递归删除文件夹的原理:理论上,其在删除过程中,如果文件夹非空,则自动切换到文件夹的内部,然后把其内部的文件,一个一个删除,当所有文件删除完毕后,返回到上一级目录,删除文件夹本身。

普及路径的小知识

绝对路径:

D:\PycharmProjects\pythonProject\static

相对路径:

① 同级路径,都在同一个文件夹中,兄弟关系,如static目录下有file1.txt和file2.txt,则file1.txt和file2.txt就是同级关系,同级访问直接使用名称即可。

② 下一级路径,我们的文件与另外一个文件存在上下级关系,如images文件夹中存在一个avatar文件夹,则images是上级目录,avatar是下级目录。则我们访问avatar可以通过images/avatar来实现。

③ 上一级路径,如果我们某些时候,向从当前目录下,跳出到外一层路径,我们可以使用../来实现。

相关文章:

Python---文件和文件夹操作

os模块 在Python中文件和文件夹的操作要借助os模块里面的相关功能,具体步骤如下: 第一步:导入os模块 import os 第二步:调用os模块中的相关方法 os.函数名() 与文件操作相关方法 编号函数功能1os.rename(目标文件名称&…...

electron-vue运用及案例代码

前言 Electron是一个使用JavaScript, HTML和CSS构建跨平台桌面应用程序的开源库。它允许开发者使用纯web技术创建原生应用程序,这使得web开发者能够利用他们已经掌握的web技术来构建桌面应用。 以下是一个简单的Electron应用程序的代码示例: // 引入Electron的主模块 co…...

视频字幕处理+AI绘画,Runway 全功能超详细使用教程(4)

runway的视频字幕处理、AI绘图功能介绍,感觉完全就是为了做电影而布局,一整套功能都上线了!想系统学习的必收藏! 在深度研究Runway各个功能后,无论是AI视频生成及后期处理技术,还是AI图像生成技术&#xff…...

令人疑惑的Promise相关问题

令人疑惑的Promise相关问题 问题1 const promise new Promise((resolve, reject) > {reject(Error(Error occurred)); });promise.catch(error > console.log(error.message)); promise.catch(error > console.log(error.message));输出: Error occurr…...

Spring 多数据源搭建

目录 前言 正文 1.Druid 介绍和使用 2.其他多数据源解决方案 总结 前言 对于复杂的业务和项目,可能在一个单体项目中存在需要连接多个数据库的情况。这时,就会使用到多数据源,实际中遇到的可能性比较大。 正文 如果一个项目中需要连…...

【二分查找】LeetCode1970:你能穿过矩阵的最后一天

本文涉及的基础知识点 二分查找算法合集 作者推荐 动态规划LeetCode2552:优化了6版的1324模式 题目 给你一个下标从 1 开始的二进制矩阵,其中 0 表示陆地,1 表示水域。同时给你 row 和 col 分别表示矩阵中行和列的数目。 一开始在第 0 …...

利用python连接MySQL数据库并执行相关sql操作

一、新建MySQL数据库 1.启动MySQL服务 打开phpstudy,开启MySQL服务。如果开启失败的话,可以打开任务管理器,把正在运行的mysqld服务的进程进行关闭,再次打开MySQL服务即可启动。 2.新建MySQL数据库 选择数据库,点击…...

jenkins配置

branch: "dev" 切换分支 $WORKSPACE: /var/lib/jenkins/workspace/jenkins任务名 dest_passwd服务器密码 变量 sudo sshpass -p $dest_passwd ssh root192.168.211.319 -tt rm -rf /data/patent/*:删除文件/data/patent/* sudo sshpa…...

LeNet对MNIST 数据集中的图像进行分类--keras实现

我们将训练一个卷积神经网络来对 MNIST 数据库中的图像进行分类,可以与前面所提到的CNN实现对比CNN对 MNIST 数据库中的图像进行分类-CSDN博客 加载 MNIST 数据库 MNIST 是机器学习领域最著名的数据集之一。 它有 70,000 张手写数字图像 - 下载非常简单 - 图像尺…...

Django的回顾的第4天

1.模型层 1.1简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说&#xff0c;HTML被直接硬编码在 Python代码之中。 def current_datetime(request):now datetime.datetime.now()html "<html><body>It is now %s.</body><…...

点云从入门到精通技术详解100篇-基于三维点云的工件曲面轮廓检测与机器人打磨轨迹规划(中)

目录 2.2.2 散乱点云滤波去噪 2.2.3 海量点云数据压缩 2.3 点云采集与预处理实验...

Mapper文件夹在resource目录下但是网页报错找不到productMapper.xml文件的解决

报错如下&#xff1a; 我的Mapper文件夹在resourse目录下但是网页报错找不到productMapper.xml。 结构如下&#xff1a;代码如下&#xff1a;<mappers><mapper resource"com/dhu/mapper/productMapper.xml" /> </mappers> 这段代码是在mybatis-co…...

22.Oracle中的临时表空间

Oracle中的临时表空间 一、临时表空间概述1、什么是临时表空间2、临时表空间的作用 二、临时表空间相关语法三、具体使用案例1、具体使用场景示例2、具体使用场景代码示例 点击此处跳转下一节&#xff1a;23.Oracle11g的UNDO表空间点击此处跳转上一节&#xff1a;21.Oracle的程…...

附录A 指令集基本原理

1. 引言 本书主要关注指令集体系结构4个主题&#xff1a; 1. 提出对指令集进行分类的方法&#xff0c;并对各种方法的优缺点进行定性评估&#xff1b; 2. 提出并分析一些在很大程度上独立于特定指令集的指令集评估数据。 3. 讨论语言与编译器议题以及…...

Unittest单元测试之unittest用例执行顺序

unittest用例执行顺序 当在一个测试类或多个测试模块下&#xff0c;用例数量较多时&#xff0c;unittest在执行用例 &#xff08;test_xxx&#xff09;时&#xff0c;并不是按从上到下的顺序执行&#xff0c;有特定的顺序。 unittest框架默认根据ACSII码的顺序加载测试用例&a…...

海云安谢朝海:开发安全领域大模型新实践 人工智能助力高效安全左移

2023年11月29日&#xff0c;2023中国&#xff08;深圳&#xff09;金融科技大会成功举行&#xff0c;该会议是深圳连续举办的第七届金融科技主题年度会议&#xff0c;也是2023深圳国际金融科技节重要活动之一。做好金融工作&#xff0c;需要兼顾创新与安全&#xff0c;当智能体…...

Postman接口测试工具完整教程

前言 作为软件开发过程中一个非常重要的环节&#xff0c;软件测试越来越成为软件开发商和用户关注的焦点。完善的测试是软件质量的保证&#xff0c;因此软件测试就成了一项重要而艰巨的工作。要做好这项工作当然也绝非易事。 第一部分&#xff1a;基础篇 postman:4.5.1 1.安…...

Android 滑动按钮(开关) SwitchCompat 自定义风格

原生的SwitchCompat控件如下图&#xff0c;不说不堪入目&#xff0c;也算是不敢恭维了。开个玩笑... 所以我们就需要对SwitchCompat进行自定义风格&#xff0c;效果如下图 代码如下 <androidx.appcompat.widget.SwitchCompatandroid:id"id/switch_compat"android:…...

前端面试灵魂提问-计网(2)

1、websocket 为什么全双工? 1.1 WebSocket是什么 WebSocket 是一种通信协议&#xff0c;它在客户端和服务器之间建立持久的全双工连接。全双工意味着数据可以双向流动&#xff0c;即客户端可以向服务器发送消息&#xff0c;服务器也可以向客户端发送消息&#xff0c;而无需…...

Git修改远程仓库名称

1、先直接在远程点仓库名&#xff0c;然后左侧菜单栏找settings-general&#xff0c;然后直接修改工程名&#xff0c;保存即可。 2、还是在settings-general下&#xff0c;下拉找到Advanced点击Expand展开&#xff0c;然后下拉到最底部 在Change path里填入新的项目名称&#x…...

Cortex-M为何不能运行Linux?解析ARM架构与操作系统的兼容性

1. Cortex-M与Linux的兼容性解析作为一名在嵌入式领域摸爬滚打多年的工程师&#xff0c;我经常被问到这个问题&#xff1a;"为什么我的STM32&#xff08;基于Cortex-M内核&#xff09;不能跑Linux&#xff1f;"要回答这个问题&#xff0c;我们需要从处理器架构和操作…...

【技术干货】把 Claude 变成“本地自动化工程师”:Anthropic Computer Use 能力与实战落地指南

摘要 Anthropic 在 Claude Code 中正式引入 Computer Use 能力&#xff0c;让大模型可以直接操作你的桌面应用和浏览器&#xff0c;从“写代码助手”升级为“全栈自动化代理”。本文从原理、典型场景、跨平台替代方案&#xff0c;到如何用统一 OpenAI 兼容 API&#xff08;基于…...

2026技术展望】Python与AI的深度融合:从“能用”到“好用”的质变之年

&#x1f525;个人主页&#xff1a;北极的代码&#xff08;欢迎来访&#xff09; &#x1f3ac;作者简介&#xff1a;java后端学习者 ❄️个人专栏&#xff1a;苍穹外卖日记&#xff0c;SSM框架深入&#xff0c;JavaWeb ✨命运的结局尽可永在&#xff0c;不屈的挑战却不可须臾或…...

为什么你的`@jit(cache=True)`反而变慢了?Python 3.14 JIT缓存键生成算法变更深度解析(附3.13→3.14 ABI不兼容警告)

第一章&#xff1a;Python 3.14 JIT 编译器性能调优 面试题汇总Python 3.14 引入了实验性内置 JIT&#xff08;Just-In-Time&#xff09;编译器&#xff0c;基于 PGO&#xff08;Profile-Guided Optimization&#xff09;与轻量级字节码重写机制&#xff0c;在 CPU-bound 场景下…...

基于PostGIS与SpringBoot构建高性能动态MVT矢量瓦片服务

1. 为什么需要动态矢量瓦片服务 第一次接触矢量瓦片是在2018年做智慧城市项目时&#xff0c;当时前端同事抱怨加载行政区划数据太慢。一个省级行政区划的GeoJSON文件大小超过10MB&#xff0c;每次打开网页都要等半天。后来尝试了Mapbox的矢量瓦片方案&#xff0c;加载速度直接提…...

Qwen3-14B开源大模型实战:WebUI界面定制+API接口二次开发教程

Qwen3-14B开源大模型实战&#xff1a;WebUI界面定制API接口二次开发教程 1. 开箱即用的私有部署方案 Qwen3-14B作为通义千问最新开源的大语言模型&#xff0c;在14B参数规模下展现出惊人的多任务处理能力。但很多开发者在本地部署时常常遇到环境配置复杂、显存不足、推理速度…...

保姆级教程:在Ubuntu 22.04上手动编译FFmpeg+OpenCV,搞定昇腾CANN C++推理环境

昇腾NPU开发实战&#xff1a;从零构建FFmpegOpenCV的C推理环境 在昇腾NPU上进行C开发时&#xff0c;环境配置往往是第一个拦路虎。不同于常见的x86架构&#xff0c;昇腾平台的异构计算特性要求开发者对底层依赖有更深入的理解。本文将手把手带你完成FFmpeg和OpenCV的源码编译&a…...

如何快速突破iOS限制:终极降级完全手册

如何快速突破iOS限制&#xff1a;终极降级完全手册 【免费下载链接】downr1n downgrade tethered checkm8 idevices ios 14, 15. 项目地址: https://gitcode.com/gh_mirrors/do/downr1n 你是否曾想过让旧款iPhone重获新生&#xff1f;是否对苹果系统的版本限制感到困扰&…...

Sora全面下线,AI界背后的商业逻辑是什么?

你敢相信吗&#xff1f;那个曾以一己之力震撼全球影视圈、让无数视频创作者彻夜难眠、被视为AI视频生成之王的Sora&#xff0c;被它的亲生父母OpenAI&#xff0c;亲手按下了停止键。一觉醒来&#xff0c;没有降级&#xff0c;没有合并&#xff0c;Sora独立App的API接口直接下线…...

Node.js版本管理神器NVM:从安装到实战的保姆级教程(Mac版)

Node.js版本管理神器NVM&#xff1a;从安装到实战的保姆级教程&#xff08;Mac版&#xff09; 作为一名长期在Mac环境下工作的前端开发者&#xff0c;我深刻体会到Node.js版本管理的重要性。不同项目可能依赖不同版本的Node.js&#xff0c;而手动切换版本不仅麻烦还容易出错。N…...