Python的os的文件复制
1.单纯复制文件
# 先判断src和target是否是文件夹,
# 如果是文件夹,则取出文件夹里面所有的文件(没有文件夹),遍历每一个文件,
# 将每一个文件的绝对路径join出来 :E:\p1\girl.jpg
1 src_path = r'E:\p1'
2 target_path = r'E:\p3'
3
4 def copy(src, target):
5 if os.path.isdir(src) and os.path.isdir(target):
6 filelist = os.listdir(src)
7 for file in filelist:
8 print(src) # >>E:\p1
9 path = os.path.join(src, file)
10 print(path) # >> E:\p1\girl.jpg
11 with open(path, 'rb') as rstream:
12 container = rstream.read()
13 path0 = os.path.join(target, file)
14 print(path0) # >>E:\p3\girl.jpg
15 with open(path0, 'wb') as wstream:
16 wstream.write(container)
17 else:
18 print('复制完成')
19
20
21 # 调用函数
22 copy(src_path, target_path)
2.复制文件
复制一个文件夹下面的所有文件到另一个文件夹中取(递归)
src_path = r'E:\p1'
target_path = r'E:\p3'
def copy(src, target):
filelist = os.listdir(src) # 获取文件夹里面的内容
print(filelist) # ['aa.txt', 'girl.jpg', '文件夹', '新建 DOCX 文档.docx', '新建 XLSX 工作表.xlsx']
for file in filelist:
path = os.path.join(src, file)
if os.path.isdir(path):
# 继续调用copy()函数
copy(path, target)
else:
# 不是文件夹则直接复制
with open(path, 'rb') as rstream:
container = rstream.read()
path0 = os.path.join(target, file)
with open(path0, 'wb') as wstream:
wstream.write(container)
print('复制完成!')
copy(src_path, target_path)
print('复制成功!')
会将一个文件夹下面的文件都复制过去,但是会丢掉这个文件夹下面的所有文件夹,只会复制文件夹下
面的文件
文件夹里面的文件有:
复制完成之后
作者:Ambitious
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!