# ### os 和 shutil 模块 ‘‘‘ 文件操作领域: os => 新建和删除 shutil => 复制和剪切 ‘‘‘ import os # 默认更改工作路径 os.chdir("/home/wangwen/mywork") #os.mknod 创建文件 # os.mknod("ceshi1014.txt") #os.remove 删除文件 # os.remove("ceshi1014.txt") #os.mkdir 创建目录(文件夹) # os.mkdir("ceshi1001") #os.rmdir 删除目录(文件夹) # os.rmdir(‘ceshi1001‘) #os.rename 对文件,目录重命名 # os.rename("ceshi1001","ceshi1002") #os.makedirs 递归创建文件夹 # os.makedirs("a/b/c/d") #os.removedirs 递归删除文件夹(空文件夹) # os.removedirs("./a/b/c/d") # -- shutil模块 复制/移动/ # (1)仅仅复制文件内容的 #copyfileobj(fsrc, fdst[, length=16*1024]) 复制文件 (length的单位是字符(表达一次读多少字符)) import shutil fp1 = open("./3.txt","r",encoding="utf-8") fp2 = open("./4.txt","w",encoding="utf-8") shutil.copyfileobj(fp1,fp2) #copyfile(src,dst) #单纯的仅复制文件内容 , 底层调用了 copyfileobj shutil.copyfile("3.txt","5.txt") # copyfile 如果没有这个文件,自动创建 # (2)仅仅复制权限的 #copymode(src,dst) #单纯的仅复制文件权限 , 不包括内容 (虚拟机共享目录都是默认777) shutil.copymode("3.txt","6.txt") # copymode 复制权限等操作的时,该文件必须存在 #copystat(src,dst) #复制所有状态信息,包括权限,组,用户,修改时间等,不包括内容 shutil.copystat("3.txt","7.txt") # (3)既复制文件内容 还 复制文件权限的 ***** #copy(src,dst) #复制文件权限和内容 shutil.copy("3.txt","8.txt") #copy2(src,dst) #复制文件权限和内容,还包括权限,组,用户,时间等 shutil.copy2("3.txt","9.txt") # (4)递归拷贝或删除 #copytree(src,dst) #拷贝文件夹里所有内容(递归拷贝) # shutil.copytree("/home/wangwen/mywork","/home/wangwen/mywork2") #rmtree(path) #删除当前文件夹及其中所有内容(递归删除) # shutil.rmtree("/home/wangwen/mywork2") #move(path1,paht2) #移动文件或者文件夹 # shutil.move("./ceshi1002","../ceshi10003")
原文:https://www.cnblogs.com/huangjiangyong/p/10920527.html