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

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来实现。

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


http://www.kler.cn/a/153332.html

相关文章:

  • 操作系统导论——第36章 I/O设备
  • mac电脑下载Netflix Mac(奈飞客户端)安装教程
  • SpringCloud 微服务全栈体系(十八)
  • XML Schema中的elementFormDefault
  • 解决 Python中错误 TypeError: Not All Arguments Converted During String Formatting
  • git的相关实用命令
  • xss漏洞后端进行html消毒
  • zookeeper心跳检测 (实操课程)
  • Milvus入门手册1.0
  • zabbix监控
  • 【力扣周赛】第 369 场周赛(⭐记忆化搜索 树形DP)
  • 网络安全应急响应-Server2228(环境+解析)
  • 代码随想录二刷 |字符串 |右旋转字符串
  • 华为云SDK的全部Maven参考
  • ChatGPT 上线一周年
  • 洛谷P1049装箱问题 ————递归+剪枝+回溯
  • 京东数据运营-京东数据开放平台-鲸参谋10月粮油调味市场品牌店铺销售数据分析
  • 【区块链】产品经理的NFT初探
  • 深度学习之循环神经网络
  • 小米智能摄像头mp4多碎片手工恢复案例