python对文件操作 总结1

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

python对文件操作 总结1_第1张图片

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() 获取当前工作文件夹内的文件夹或文件(注意返回的是可迭代对象)
python对文件操作 总结1_第2张图片
需要对齐进行遍历(使用for循环)

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

python对文件操作 总结1_第3张图片
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'))

你可能感兴趣的:(python自动化办公,python,os,列表)