当前位置:首页>python>小白学python第63天之文件和文件夹操作

小白学python第63天之文件和文件夹操作

  • 2026-08-25 06:23:59
小白学python第63天之文件和文件夹操作

2.8

文件和文件夹操作

?

学前疑问

如果你的程序在删除文件时突然崩溃,数据会丢失吗?如果多个程序同时想修改同一个文件,会发生“冲突”吗?Python如何优雅地处理这些潜在风险?

1

文件和文件夹操作

(1)os模块

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

第一步:导入os模块

import os

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

os.函数名()

(2)与文件操作相关方法

编号

函数

功能

1

os.rename(目标文件名称,新文件名称)

对文件进行重命名操作

2

os.remove(要删除文件名称)

对文件进行删除操作

案例:

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

# 第一步:导入os模块import os# 第三步:引入time模块import time# 第二步,使用os.rename方法对python.txt进行重命名os.rename('python.txt', 'linux.txt')# 第四步:休眠20stime.sleep(20)# 第五步:删除文件(linux.txt)os.remove('linux.txt')

(3)与文件夹操作相关操作

前提

import os

相关方法:

编号

函数

功能

1

os.mkdir(新文件夹名称)

创建一个指定名称的文件夹

2

os.getcwd()

current work   directory,获取当前目录名称

3

os.chdir(切换后目录名称)

change  directory,切换目录

4

os.listdir(目标目录)

获取指定目录下的文件信息,返回列表

5

os.rmdir(目标目录)

用于删除一个指定名称的"空"文件夹

案例1:

# 导入模块import os# 1、使用mkdir方法创建一个image文件夹os.mkdir('images')os.mkdir('images/avatar')# 2、getcwd = get current work directoryprint(os.getcwd())# 3、os.chdir,ch = change dir =directory切换目录os.chdir('images/avatar')print(os.getcwd())# 切换到上一级目录 => imagesos 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# 1、在程序中,将当前目录切换到static文件夹os.chdir('static')# print(os.getcwd())# 2、创建一个新images文件夹以及test文件夹os.mkdir('images')os.mkdir('test')# 3、获取目录下的所有文件# print(os.listdir())for file in os.listdir():    print(file)# 4、移除test文件夹os.mkdir('test')

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

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

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

(5)普及路径的小知识

绝对路径:

D:\PycharmProjects\pythonProject\static

相对路径:

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

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

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

今日学习完毕,课后作业:

需求:批量修改文件名,既可添加指定字符串,又能删除指定字符串。

步骤:

① 设置添加删除字符串的的标识;

② 获取指定目录的所有文件;

③ 将原有文件名添加/删除指定字符串,构造新名字;

④ os.rename()重命名。

最新文章

随机文章