文件夹与文件操作

创建文件夹

创建空文件夹 os.mkdir(filename)

语法:

os.mkdir(filename)

功能:创建空文件夹
注意:当存在和filename相同名字的文件夹时,程序运行会报错,无法创建文件夹

import os

os.mkdir('test')
os.mkdir('demo')

'''
test文件夹创建成功,demo文件夹创建失败,因为该层目录下已存在demo文件夹
FileExistsError: [Errno 17] File exists: 'demo'
'''
检测文件夹是否存在 os.path.exists(‘filename’)
import os

# print(os.path.exists('test'))
# 输出的是布尔值  True False

if not os.path.exists('test'):
    os.mkdir('test')
创建多层文件夹 os.makedirs()

语法:

os.makedirs('path1/path2/path3')
注意:最里层文件夹path3存在时,会产生报错
import os

os.makedirs('test1/test2/test3')
os.makedirs('test1/test2/test4')

运行结果:
在这里插入图片描述

复制、移动、重命名

复制文件 shutil.copy(file,path/)
语法:
shutil.copy(要复制的文件,要复制到的位置)
注意,若指定的文件和路径不存在,会产生报错

将file文件复制到指定的path路径下
shutil.copy(file,path/)

将file文件复制到指定的path路径下并重命名
shutil.copy(file,path/new_file)

注意:如果是路径,最后以 "/"结尾,养成习惯,否则会被重命名为不带后缀名的文件
import shutil

# shutil.copy('test.py','../')
# 将test.py文件复制到当前程序的父级文件夹下

# shutil.copy('/media/Python/自动化办公/os模块/demo/demo.txt','../')
# 将 /media/Python/自动化办公/os模块/demo路径下的demo.txt文件复制到当前程序的父级文件夹下

# shutil.copy('test.py','./newTest.py')
# # 将test.py文件复制到当前文件夹下并重命名为newTest.py
移动文件夹 shutil.copytree(‘dir’,‘new_dir’)
shutil.copytree('dir','new_dir')
shutil.copytree('要复制的文件夹','要复制到的新文件夹的位置')
会将文件夹内所有的文件和文件夹都复制过去
注意:新文件夹不能已存在
import shutil

shutil.copytree('/media/bobo/自动化办公/os模块/','/media/bobo/demo/')
# 將/media/bobo/自动化办公文件夹下 os模块文件夾內的所有內容
# 复制到新建的/media/bobo文件夹下的 demo文件夹下(demo文件夹会被该命令创建)
移动文件或文件夹
shutil.move(file1,path/)
将file1文件移动到path路径下
注意:path路径要真实存在,若不存在,该命令不会新建文件夹操作

shutil.move(file1,path/file2)
将file1文件移动到path路径下并重命名为file2
注意:path路径要真实存在

shutil.move(dir1/,dir2/)
将dir1/文件中的所有内容移动到新建的dir2文件夹下

注意:该命令会创建新文件夹,
如果dir2文件夹不存在,则创建该文件夹,将dir1中的所有文件移动新建的dir2文件夹下
若dir2文件夹存在,则将dir1文件夹及dir1文件夹下的所有文件移动到dir2文件夹下
# 将/media/bobo/自动化办公/shutil模块下的test.py文件
# 移动到/media/bobo/自动化办公下的demo文件夹下
shutil.move('/media/bobo/自动化办公/shutil模块/test.py','/media/bobo/自动化办公/demo/')


# 将/media/bobo/自动化办公/shutil模块下的test.py文件
# 移动到/media/bobo//自动化办公下的demo文件夹下并重命名为test1.py
shutil.move('/media/bobo/自动化办公/shutil模块/test.py','/media/bobo/自动化办公/demo/test1.py')



shutil.move('/media/bobo/自动化办公/shutil模块/','/media/bobo/自动化办公/demo/')
# 如果/media/bobo/自动化办公文件夹下的demo文件夹不存在,则创建demo文件夹,
# 将media/bobo/自动化办公/shutil模块文件夹中的所有文件移动新建的demo文件夹下

# 若/media/bobo/自动化办公文件夹下的demo文件夹存在,
# 则将/media/bobo/自动化办公文件夹下的shutil模块文件夹中及shutil模块文件夹下的所有文件移动到demo文件夹下
重命名文件或文件夹
重命名文件夹名称/文件名称

os.rename('filename','new_filename')
os.rename('dirname','new_dirname')

import os


# 默认对当前py程序路径下的文件进行重命名
os.rename('demo.py','test.py')

# 绝对路径下对文件进行重命名
os.rename('/media/bobo/自动化办公/os模块/demo/demo.py','/media/bobo/自动化办公/os模块/demo/test.py')

# 默认对当前py程序路径下的文件夹进行命令
os.rename('test','testdir')

# 绝对路径下对文件夹进行重命名
os.rename('/media/bobo/自动化办公/os模块/demo/','/media/bobo/自动化办公/os模块/demodir/')

删除

删除文件 os.remove(filename)
os.remove(filename)
注意,只能删除文件,如果给的是一个文件夹,会报错
import os

# 删除当前py程序所在路径下的文件
os.remove('test.py')

# 删除给定路径下的文件
os.remove('/media/bobo/自动化办公/os模块/demodir/test.py')
删除文件夹 shutil.rmtree(‘dir’)
shutil.rmtree('dir')
删除文件夹,如果文件夹下有文件,会一并删除
import shutil

# 删除当前py程序所在路径下的文件夹
shutil.rmtree('test')


# 删除指定路径下的文件夹
shutil.rmtree('/media/bobo/自动化办公/testdir')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值