美文网首页
自定义文件复制工具

自定义文件复制工具

作者: 痞子_4ae7 | 来源:发表于2020-05-07 23:31 被阅读0次
    # coding='utf-8'
    """
        task:自定义文件复制工具
            - 思路讲解
                - 打开源文件,判断源文件是否有效,有效进行后续操作
                - 新文件名字的生成   旧文件名+[复件]+.后缀(用到查找rfind,以及切片操作)
                - 开始复制文件(1. 整体复制    2.循环逐行复制)
                - 关闭文件
        version:1.0
        author:ZXQ
        date:2020-5-7
    """
    import os
    
    
    # 分割文件名和文件后缀的操作
    # example:C:/Users/Administrator/PycharmProjects/Py20/test01.txt
    def get_new_file_name(old_file):
        # 获取‘.’的索引
        index_of_spot = old_file.rindex('.')
    
        # 获取最后一个‘/’的索引
        index_of_backslash = old_file.rindex('/')
    
        # 获取原始文件路径
        old_file_path = old_file[:index_of_backslash + 1]
        # print('原始文件路径' + old_file_path)
    
        # 获取原始文件名
        # old_file_name = old_file[index_of_backslash + 1:]
        # print(old_file_name)
    
        # 获取文件后缀
        suffix = old_file[index_of_spot:]
        # print(suffix)
    
        # 新文件名
        new_file_name = old_file[index_of_backslash + 1:index_of_spot] + '[复制]' + suffix
        # print(new_file_name)
    
        # 返回新文件名
        return new_file_name, old_file_path, suffix
    
    
    def copy_2_file(old_file):
        # 判断文件是否存在
        if os.path.exists(old_file):
            if get_new_file_name(old_file)[2] == '.txt':
                # 打开文件
                with open(old_file, 'r', encoding='utf-8') as f:
                    # 读取文件中的内容
                    content = f.read()
    
                    # 得到新文件名
                    new_file_name = get_new_file_name(old_file)[0]
    
                    # 创建新文件
                    new_file_path_name = get_new_file_name(old_file)[1] + new_file_name
                    with open(new_file_path_name, 'w', encoding='utf-8') as new_file:
                        # 向新文件中写入内容
                        new_file.write(content)
                        print('文件复制成功!新文件命名为:%s' % new_file_name)
            else:
                print('暂不支持该格式的文件复制,敬请期待新版本!')
        else:
            print('目标文件:%s 不存在,请核实!' % old_file)
    
    
    if __name__ == '__main__':
        copy_2_file('C:/Users/Administrator/PycharmProjects/Py20/test01.txt')
        copy_2_file('D:/Users/Administrator/PycharmProjects/Py20/test01.txt')
        copy_2_file('C:/Users/Administrator/Desktop/哈哈哈.txt')
        copy_2_file('C:/Users/Administrator/Desktop/pub60.pdf')
    
    

    相关文章

      网友评论

          本文标题:自定义文件复制工具

          本文链接:https://www.haomeiwen.com/subject/kgutnhtx.html