os-操作系统接口模块
该模块提供了一些方便使用操作系统相关功能的函数。
目录复制
文件复制就是读写操作。
目录复制就是遍历其中的所有文件,但是存在文件夹是复制不了的,这里我们就需要使用到递归。
- 如果需要使用该模块必需导入os
import os
- 我们先定义一个方法,用来进行文件复制
def copyFile(f1,f2): # 传入源地址、操作地址
# rb以一个二进制的方式打开文件,只读取
# wb 以一个二进制方式打开文件,只写入
# 注意要加引号
rf1 = open(f1,"rb")
wf2 = open(f2,"wb")
# 读取文件的全部内容,存入序列中
content = rf1.readlines()
# 将content 遍历出来
for i in content:
wf2.write(i)
# 记得关闭文件
wf2.close()
rf1.close()
- 文件夹复制方法。传入源地址以及目的地址,使用os.listdir()方法遍历源地址f1底下的所有文件,并存入a中,使用os.mkdir()方法创建文件夹,join方法将f1地址与遍历出来的文件名进行拼接,file2同理。在进行判断如果源文件是文件的话进行直接复制。如果为文件夹的话,调用本身,遍历文件夹中所有的文件信息,进行复制。
# 目录复制函数
def copyDir(f1,f2):
a=os.listdir(f1)
os.mkdir(f2)
for i in a:
file1 = os.path.join(f1,i)
file2 = os.path.join(f2,i)
if os.path.isfile(file1):
copyFile(file1 , file2)
# 递归写法 调用自己本身
if os.path.isdir(file1):
copyDir(file1,file2)
- 最后。
# 第一个参数是源地址,第二个为目的地址
copyDir('./file','./file1')
- 测试结果