Python基础知识学习08:文件操作(贰) -- 文件备份、文件与文件夹的基本操作

目录

1、文件备份

1.1 流程

1.2 文件备份的流程分析级实例应用

1.2.1 接收用户输入目标文件名

1.2.2 定义备份文件名

1.2.3  备份文件写入数据

1.2.4 拓展练习

2、文件及文件夹的操作

2.1 导入库

2.2 文件的两个基本操作

2.3 文件夹的基本操作


1、文件备份

用户输入当前目录下任意文件名,程序完成对该文件的备份功能(备份文件名为"xx[备份]"这样的后缀,例如:test[备份].txt)。

1.1 流程

① 接收用户输入的文件名;

② 定义备份文件名;

③ 备份文件写入数据。

1.2 文件备份的流程分析级实例应用

1.2.1 接收用户输入目标文件名

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

1.2.2 定义备份文件名

  • 文件类型:提取目标文件的后缀
  • 文件名:组织备份的文件名,xx[备份]后缀
# 一、用户输入目标文件  star.txt
old_na = input('请输入需要备份的文件名:')
# print(old_na)
# print(type(old_na))


# 二、规划备份文件名
# ① 提取文件后缀--找到名字中的点--名字和后缀分离--最右侧的点为后缀的点--字符串中查找某个字串用rfind
index = old_na.rfind('.')
print(index)  # 后缀中.的下标
print(old_na[:index])  # 无后缀的源文件名(无后缀)

# ② 组织新文件名 旧文件名 + [备份] + 后缀
new_name = old_na[:index] + '[备份]' + old_na[index:]

# ③ 打印新文件名(带后缀)
print(new_name)

1.2.3  备份文件写入数据

  • 打开:打开源文件和备份文件
  • 读取写入:将源文件数据写入备份文件
  • 关闭文件
# 三、备份文件写入数据(数据和原文件一样)
# ① 打开文件(原文件和备份文件)
old_f = open(old_na, 'rb')
new_f = open(new_name, 'wb')
# ② 从源文件读取,备份文件写入
# 如果不确定目标文件大小,循环读取写入,当读取出来的数据没有了终止循环
while True:
    con = old_f.read(1024)
    if len(con) == 0:
        # 表示读取完成了
        break
    new_f.write(con)
# ③ 关闭文件
old_f.close()
new_f.close()

1.2.4 拓展练习

优化练习:在此基础上加入if条件判断(判断为有效文件后才备份)

# 一、用户输入目标文件  star.txt
old_na = input('请输入需要备份的文件名:')
# print(old_na)
# print(type(old_na))

# 二、规划备份文件名
# ① 提取文件后缀--找到名字中的点--名字和后缀分离--最右侧的点为后缀的点--字符串中查找某个字串用rfind
index = old_na.rfind('.')
# print(index)  # 后缀中.的下标
# print(old_na[:index])  # 无后缀的源文件名(无后缀)

# 加入条件:有效文件才可以备份----------------------------
if index > 0:
    postfix = old_na[index:]

# ② 组织新文件名 旧文件名 + [备份] + 后缀
new_name = old_na[:index] + '[备份]' + postfix
# ③ 打印新文件名(带后缀)
# print(new_name)

# 三、备份文件写入数据(数据和原文件一样)
# ① 打开文件(原文件和备份文件)
old_f = open(old_na, 'rb')
new_f = open(new_name, 'wb')
# ② 从源文件读取,备份文件写入
# 如果不确定目标文件大小,循环读取写入,当读取出来的数据没有了终止循环
while True:
    con = old_f.read(1024)
    if len(con) == 0:
        # 表示读取完成了
        break
    new_f.write(con)
# ③ 关闭文件
old_f.close()
new_f.close()

2、文件及文件夹的操作

2.1 导入库

在Python中文件和文件夹的操作要借助os模块里面的相关功能,具体步骤如下:

  • 导入
import os
  • 使用
os.函数名()

2.2 文件的两个基本操作

  • 重命名 
os.rename(目标文件名, 新文件名)
  • 删除文件 
os.remove(目标文件名)

2.3 文件夹的基本操作

# 创建文件夹
os.mkdir(文件夹名字)

# 删除文件夹
os.rmdir(文件夹名字)

# 获取当前目录
os.getcwd()

# 改变默认目录
os.chdir(目录)

# 获取目录列表
os.listdir(目录)

 

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页