拷贝文件(不考虑文件夹中有文件夹)后续有拷贝文件夹

#导入os模块
import os

'''
1.不考虑文件夹中有文件夹

sourcefile = r'D:\PyCharm\PycharmProjects\文件操作专用\source'
targetfile = r'D:\PyCharm\PycharmProjects\文件操作专用\target'
实现两个文件的拷贝从sourcefile ---> targetfile

def copy(sourcefile,targetfile):
    1.要找到文sourcefile文件夹中的文件有什么  得到的是一个列表
    2.遍历这个文件夹,得到文件的 文件名+扩展名
        判断这个文件夹中,是否嵌套文件夹
    3.拼接文件的绝对路径+文件名+扩展名
    4.读文件
    5.将读到的文件写入目标文件
'''
sourcefile = r'D:\PyCharm\PycharmProjects\文件操作专用\source'    #在哪里拷贝
targetfile = r'D:\PyCharm\PycharmProjects\文件操作专用\target'    #拷贝到那里去

#定义拷贝函数(只能拷贝)
def copy(sourcefile,targetfile):
    '''

    :param sourcefile: 要拷贝文件夹的路径
    :param targetfile: 目标文件夹
    :return:
    '''
    #获的要拷贝文件夹中的所有文件[文件夹,文件]
    list_dir = os.listdir(sourcefile)      # ['a.txt', 'b.txt', 'c.docx', '图片.jpg']
    #循环得到文件夹中的每一个文件的文件名+扩展名
    for filename in list_dir:
        #拼接文件(要拷贝文件+文件名+扩展名)得到绝对路径  os.path.join( ,)
        rpath = os.path.join(sourcefile,filename)
        #判断是否是文件夹,是真,不是假
        if not os.path.isdir(rpath):
            #从来源文件夹中读取文件通过'rb'的形式,可能存在图片音乐文本等
            #这里的rpath是来源文件+文件名+扩展名
            with open(rpath,'rb') as rstream:
                #将读到的内容保存在something里面
                something = rstream.read()
                #拼接目标文件(目标文件夹+文件名+扩展名)
                wpath = os.path.join(targetfile,filename)
                #写文件,通过'wb'
                with open(wpath,'wb') as wstream:
                    #写文件 格式:流.write(写的内容)
                    wstream.write(something)
        #遇到的是文件夹
        else:
            print('{}是文件夹,该函数不支持拷贝文件夹'.format(rpath))
    #拷贝成功:for else 这里else的执行时机是:for循环正常结束后执行的代码,如果遇到了breakelse将不再执行
    else :
        print('拷贝成功!')
#调用copy函数
copy(sourcefile,targetfile)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值