python对文件操作 总结1

这篇博客详细介绍了Python中用于文件操作的os模块和shutil模块的常用方法,包括获取当前路径、链接路径、列举文件、判断文件类型、遍历目录、创建与删除文件夹、文件重命名、文件复制与移动等。同时,还提到了glob和fnmatch模块在文件搜索中的应用,以及如何根据特定模式查找文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python对文件操作需要用以下模块

在这里插入图片描述

os模块

1.os.getcwd() 获取文件当前路径

import os  #导入os模块
print(os.getcwd())#打印出当前文件的路径

2.os.path.join() 链接路径

import os
print(os.path.join('A地址(大)','B路径(小)'))

3.os.listdir() 列举当前路径的文件(以列表的形式打印出来)

import os
print(os.listdir())

4.os.path.isdir() 判断某一路径是否有目录(这里的路径必须是绝对路径)

import os
dir='C:/Users/Dell/Desktop'
for i in os.listdir(dir):
    fullpath=os.path.join(dir,i)
    if os.path.isdir(fullpath):  #入参需要是绝对路径 
    print(i)
    # (通俗的理解,相对路径:你的路径可以通过你附近的邻居的地址计算而出;
    #绝对路径:需要写到具体的点(一点都不能省略)
       

5.os.scandir() 获取当前工作文件夹内的文件夹或文件(注意返回的是可迭代对象)
在这里插入图片描述
需要对齐进行遍历(使用for循环)

import os
for i in os.scandir():
    if not i.is_file(): #判断是否是文件
        print('yes',i)
    else:
        print('no',i)

在这里插入图片描述
6.os.walk() 遍历指定目录下的所有文件(包含子文件夹下的文件)

import os
print(os.walk('./')) #退回当前文件夹的上一级
for dirpath,dirnames,files in os.walk('./'):
    print('发现文件夹',dirpath)
    print(dirnames) #dirpath这个文件夹下的子文件夹列表
    print(files)

7.os.mkdir() 创建单层文件夹 (需判断是否存在该文件夹)

import  os
if not os.path.exists('我的文件'):  #判断文件是否存在,不存在则创建
      os.mkdir('我的文件'

8.os.makedirs() 创建多层文件夹 (需判断是否存在该文件夹)

import  os
if not os.path.exists('xxxx/啦啦啦/呵呵呵'):  #判断文件是否存在,不存在则创建
      os.makedirs('xxxx/啦啦啦/呵呵呵')

9.os.path.exists() 判断文件是否存在(代码如上所示)

10.os.remove() 删除文件 (不经过回收站,直接删除)

import os
os.remove('D:/Pyproject/test2/我的文件夹/我的文件/demo112.py')```

11.os.rename()   文件的重命名

```python
import os
os.rename('我的文件夹','mydir')

2、shutil模块

1.shutil.copy() 复制文件到另外一个文件夹

import shutil
shutil.copy('a.py','xxxx') #将a.py文件复制到‘xxxx’文件夹

2.shutil.copytree() 将A文件复制到B文件夹(注意B文件必须是不存在的,需要创建)

import os
import shutil
if not os.path.exists('520'):   #判断文件是否存在,不存在则复制
      shutil.copytree('xxxx','520')

3.shutil.move() 类似于裁剪

import shutil
shutil.move ('520','我的文件夹')

4.shutil.rmtree() 删除文件夹 (不经过回收站,直接删除)

import shutil
shutil.rmtree('456')

3、文件搜索

1、字符串搜索

import os
lst=os.listdir()
for i in lst:
    if i.endswith('.py'):
        print(i)
import os
lst=os.listdir()
for i in lst:
    if i.startswith('n') and i.endswith('.txt'):
        print(i)

2.glob模块

import  glob
print(glob.glob('*.py')) #以.py结束的文件
print(glob.glob('demo*.py')) #*表示0个或多个字符
print(glob.glob('demo?.py')) #?表示的是1个字符
print(glob.glob('demo[1-5].py')) #1-5个字符
  1. fnmatch 匹配
import  fnmatch
print(fnmatch.fnmatch('demo1.py','demo?.py'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值