python常用模块之shutil模块
shutil模块,高级的文件、文件夹、压缩包处理模块
1.shutil.copyfile(src,des[,length]):将文件内容拷贝到另一个文件
In [1]: import os # 导入os模块
In [2]: os.listdir() # 查看当前目录下的文件和目录
Out[2]:
['.XIM-unix',
'.X11-unix',
'.font-unix',
'.Test-unix',
'.ICE-unix',
'replaceContent.py']
In [3]: import shutil # 导入shutil模块
In [4]: shutil.copyfileobj(open('replaceContent.py','r'),open('new_scripts.py','w')) # 以读的形式打开旧文件,再以写的形式写入新文件
In [5]: os.listdir()
Out[5]:
['.XIM-unix',
'.X11-unix',
'.font-unix',
'.Test-unix',
'.ICE-unix',
'replaceContent.py',
'new_scripts.py']
2.shutil.copyfile(src,des):拷贝文件,目标文件无需存在
In [8]: shutil.copyfile("new_scripts.py","scripts.py") # 把旧文件拷贝成为新文件
Out[8]: 'scripts.py'
In [9]: os.listdir()
Out[9]:
['.XIM-unix',
'.X11-unix',
'.font-unix',
'.Test-unix',
'.ICE-unix',
'replaceContent.py',
'new_scripts.py',
'scripts.py'] # 内容和new_scripts.py一样
3.shutil.copymode(src,des):仅拷贝权限。内容、组、用户均不变,目标文件需要存在
# 现在当前目录创建test.py文件,并且将scripts.py权限修改为755
In [11]: shutil.copymode("scripts.py","test.py")
代码运行如下:
[root@host-10-200-137-195 tmp]# ll
total 12
-rw-r--r-- 1 root root 1149 May 9 17:21 new_scripts.py
-rw-r--r-- 1 root