我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用python实现文件备份

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用python实现文件备份

这篇文章主要介绍“怎么用python实现文件备份”,在日常操作中,相信很多人在怎么用python实现文件备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python实现文件备份”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    1、需求

    用户输入当前目录下任意文件名,程序完成对该文件的备份功能。

    备份文件名为xx[备份]后缀,例如:test[备份].txt

    2、步骤

    接收用户输入的文件名。规划备份文件名。备份文件写入数据。

    3、代码实现

    (1)接收用户输入目标文件名

    old_name = input('请输入您要备份的文件名:')

    (2)规划备份文件名

    1 提取目标文件后缀。
    2.2 组织备份的文件名,xx[备份]后缀。

    # 2.1 提取文件后缀点的下标index = old_name.rfind('.')# 2.2 组织新文件名 旧文件名 + [备份] + 后缀new_name = old_name[:index] + '[备份]' + old_name[index:]

    (3)备份文件写入数据

    1 打开源文件 和 备份文件。
    3.2 将源文件数据写入备份文件。
    3.3 关闭文件。

    # 3.1 打开文件old_f = open(old_name, 'rb')new_f = open(new_name, 'wb')# 3.2 将源文件数据写入备份文件# 如果不确定目标文件大小,循环读取写入,# 当读取出来的数据没有了终止循环while True:    # 每次在原文件中读取的内容    con = old_f.read(1024)    # 表示读取完成了    if len(con) == 0:        # 终止读取        break    # 新文件写入读取的数据    new_f.write(con)# 3.3 关闭文件old_f.close()new_f.close()

    (4)思考

    如果用户输入.txt,这是一个无效文件,程序如何更改才能限制只有有效的文件名才能备份?

    答:添加条件判断即可。

    # 有文件名,才能提取后缀# 这里无法取得后缀,拼接的时候没有后缀的变量# 就会报错if index > 0:    postfix = old_name[index:]

    (5)完整编码

    1)传统实现

    # 1. 用户输入目标文件  如:sound.txt.mp3old_name = input('请输入您要备份的文件名:')# 2. 规划备份文件的名字# 2.1 提取后缀 --# 找到名字中的最右侧的点才是后缀的点# 在右侧查找rfind()方法# 获取文件全名中后缀.的位置index = old_name.rfind('.')# 4. 思考:有效文件才备份 .txtif index > 0:    # 提取后缀,这里提取不到,后面拼接新文件名字的时候就会报错    postfix = old_name[index:]# 2.2 组织新名字 = 原名字 + [备份] + 后缀# 原名字就是字符串中的一部分子串 -- 切片[开始:结束:步长]# new_name = old_name[:index] + '[备份]' + old_name[index:]new_name = old_name[:index] + '[备份]' + postfix# 3. 备份文件写入数据(数据和原文件一样)# 3.1 打开 原文件 和 备份文件old_f = open(old_name, 'rb')new_f = open(new_name, 'wb')# 3.2 原文件读取,备份文件写入# 如果不确定目标文件大小,循环读取写入,当读取出来的数据没有了终止循环while True:    # 每次在原文件中读取的内容    con = old_f.read(1024)    # 表示读取完成了    if len(con) == 0:        # 终止读取        break    # 新文件写入读取的数据    new_f.write(con)# 3.3 关闭文件old_f.close()new_f.close()

    2)实际工作实现

    # 1. 用户输入目标文件  如:sound.txt.mp3old_name = input('请输入您要备份的文件名:')# 获取文件全名中后缀.的位置index = old_name.rfind('.')# 4.有效文件才备份 .txtif index > 0:    postfix = old_name[index:]# 3.开始备份文件# 打开原文件with open(old_name , 'rb') as file_obj:    # 组织新名字 = 原名字 + [备份] + 后缀    new_name = old_name[:index] + '[备份]' + postfix    # 创建并打开新文件    with open(new_name, 'wb') as new_obj:        # 定义每次读取的大小        chunk = 1024 * 100        while True:            # 从已有的对象中读取数据            content = file_obj.read(chunk)            # 内容读取完毕,终止循环            if not content:                break            # 将读取到的数据写入到新对象中            new_obj.write(content)

    两种方式实现的功能一样。

    4、再来一个小练习

    需求:二进制文件读取(实现方式和上边一样)

    # 读取模式# t 读取文本文件(默认值)# b 读取二进制文件file_name = “hello.txt”with open(file_name , 'rb') as file_obj:    # 读取文本文件时,size是以字符为单位的    # 读取二进制文件时,size是以字节为单位    # print(file_obj.read(100))    # 将读取到的内容写出来    # 定义一个新的文件    new_name = 'aa.txt'    with open(new_name , 'wb') as new_obj:        # 定义每次读取的大小        chunk = 1024 * 100        while True :            # 从已有的对象中读取数据            content = file_obj.read(chunk)            # 内容读取完毕,终止循环            if not content :                break            # 将读取到的数据写入到新对象中            new_obj.write(content)

    注意:纯文本文件也可以使用二进制方法进行读取操作。

    到此,关于“怎么用python实现文件备份”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    怎么用python实现文件备份

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    怎么用python实现文件备份

    这篇文章主要介绍“怎么用python实现文件备份”,在日常操作中,相信很多人在怎么用python实现文件备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python实现文件备份”的疑惑有所帮助!接下来
    2023-06-29

    python 脚本实现备份文件

    '''功能:备份文件版本:1.0作者:白'''import  os,time,sysd_dir = '/data/backup/'d_file = 'system_bak.tar.gz's_dir = ['/etc','/boot','/v
    2023-01-31

    用python备份文件

    光说不练假把式,用小脚本学习Python。一个简单的备份脚本。#!/usr/bin/env python3#-*- coding:utf-8 -*-#for backupimport osimport time#需要备份的目录source 
    2023-01-31

    Python 实现文件的全备份和差异备份详解

    Python实现文件的全备份和差异备份 之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题:md5sum获取有些软连接的MD5值存在问题不支持对空目录进行备份,因为md5sum无法获取空目录的md5值权限的修改md5su
    2022-06-04

    怎么用批处理实现文件备份器V2.3

    这篇文章将为大家详细讲解有关怎么用批处理实现文件备份器V2.3,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:@echo off :::::::::::::::::::::::::::::::::
    2023-06-09

    如何使用vbs实现文件备份

    这篇文章主要为大家展示了“如何使用vbs实现文件备份”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用vbs实现文件备份”这篇文章吧。objs = "c:\aaa\*" 支持UNC路径 ob
    2023-06-08

    使用shell怎么实现周期差量备份文件夹

    这篇文章将为大家详细讲解有关使用shell怎么实现周期差量备份文件夹,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。shell脚本备份创建备份脚本backup.sh#!/bin/sh #$#
    2023-06-09

    Python中怎么实现增量备份

    这期内容当中小编将会给大家带来有关Python中怎么实现增量备份,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python增量备份代码示例:#!/usr/bin/python #-*-coding:ut
    2023-06-17

    Linux下怎么备份文件

    本篇内容主要讲解“Linux下怎么备份文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么备份文件”吧!在Linux中,最简单的文件和目录备份工具就是“cp”复制命令。但需要备份文
    2023-06-27

    mysql通过复制文件实现备份

    mysqldump的方法耗时:备份+网络传输+恢复 缺点:时间 直接复制文件的方法耗时:网络传输 缺点:可能造成意外的情况 第一种已经实践过了,今天试下第二种。 1.tar zxvf bak.tar.gz xxx xxx 把几个文件打包。文件是mysql下的
    mysql通过复制文件实现备份
    2017-03-05

    ultraedit文件备份怎么取消

    这篇“ultraedit文件备份怎么取消”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ultraedit文件备份怎么取消”文
    2023-07-01

    怎么使用linux命令备份文件夹

    这篇文章主要介绍“怎么使用linux命令备份文件夹”,在日常操作中,相信很多人在怎么使用linux命令备份文件夹问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用linux命令备份文件夹”的疑惑有所帮助!
    2023-07-02

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录