加载中...

OS模块和shutil模块的对文件操作

OS模块的对文件操作

os新建和删除

import os
import shutil

mknod

#创建文件
#实现在Linux系统可以 windows系统不可以
os.mknod("1.txt") # 

remove

#删除文件
os.remove("集合2.png") 

mkdir

#创建目录
os.mkdir("ceshi111")

rmdir

# 删除目录
os.rmdir("ceshi111")

rename

# 修改当前文件的默认路径
os.rename("2.txt","3.txt")

makerdirs

# 递归创建文件夹
os.makedirs("a/b/c/d/e/f")

removedirs

# 递归删除文件夹(空文件夹)  必须是空文件夹
os.removedirs("a/b/c/d/e/f")

sep

# 获取路径的分割符 linux mac  -> /  windows -> \
print(os.sep)

linesep

# 获取系统的换行符号
print(os.linesep)

print(repr(os.linesep))  # 原型打印一下

shutil模块的对文件操作

copyfileobj

#copyfileobj(fsrc, fdst[, length=16*1024])
"""
复制文件 (length的单位是字符(表达一次读多少字符/字节))
16*1024 字节(16 KB)
"""

fp_src = open("3.txt",mode="r",encoding="utf-8")
fp_dst = open("4.txt",mode="w",encoding="utf-8")
shutil.copyfileobj(fp_src,fp_dst)

copyfile

#copyfile(src,dst)   
#单纯的仅复制文件内容 , 底层调用了 copyfileobj
shutil.copyfile("4.txt","5.txt")

copymode

#copymode(src,dst)   
#单纯的仅复制文件权限 , 不包括内容  (虚拟机共享目录都是默认777)
"""注意: 要先有两个文件才可以,不会默认创建"""
shutil.copymode("4.txt","5.txt")

copystat

#copystat(src,dst)   
#复制所有状态信息,包括权限,组,用户,修改时间等,不包括内容
shutil.copystat("4.txt","5.txt")

copy

#复制文件权限和内容
shutil.copy("5.txt","6.py")

copy2

#复制文件权限和内容,还包括权限,组,用户,时间等
shutil.copy2("5.txt","7.py")

copytree

#拷贝文件夹里所有内容(递归拷贝)
#参数2不需要提前建立
#比os模块有优势
shutil.copytree("lianxi","lianxi2")

rmtree

#删除当前文件夹及其中所有内容(递归删除)
shutil.rmtree("lianxi2")

move

#移动文件或者文件夹
shutil.move("7.py","lianxi/888.php") #边复制边改名
shutil.move("7.py","/888.php")
posted @ 2024-03-05 23:25  江寒雨  阅读(28)  评论(0)    收藏  举报