一、文件操作的作用
- ⽂件操作包含:打开、关闭、读、写、复制......
- ⽂件操作的的作⽤是:读取内容、写⼊内容、备份内容......
- ⽂件操作的作⽤就是把⼀些内容(数据)存储存放起来,可以让程序下⼀次执⾏的时候直接使⽤,⽽不必重新制作⼀份,省时省⼒ 。
二、文件操作方式
1.文件操作的基本步骤打开⽂件
打开 在python,使⽤open函数,可以打开⼀个已经存在的⽂件,或者创建⼀个新⽂件,语法如下:
open(name,mode)
name:是要打开的⽬标⽂件名的字符串(可以包含⽂件所在的具体路径)。 mode:设置打开⽂件的模式(访问模式):只读、写⼊、追加等。
2.文件对象方法
r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+:打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ :打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a :打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ :打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ :以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
写入操作
w
f.write("内容")
# 打开文件 f = open("test.txt","w",encoding="utf-8") # 写入内容 f.write("大家好呀,我是张三") # 关闭文件 f.close()
a
# 打开文件 f = open("test.txt","a",encoding="utf-8") # 写入内容 f.write("大家好呀,我是张三") # 关闭文件 f.close()
w 和 a 模式:如果⽂件不存在则创建该⽂件;如果⽂件存在, w 模式先清空再写⼊, a 模式直接末尾追加。
读取操作
read(num)
num表示要从⽂件中读取的数据的⻓度
# 打开文件 f = open("test.txt","r+",encoding="utf-8") # 读取信息 content = f.read() # 将读取的信息打印 print(content) # 关闭文件 f.close()
readlines()和readline()
readlines可以按照⾏的⽅式把整个⽂件中的内容进⾏⼀次性读取,并且返回的是⼀个列表,其中每⼀⾏的数据为⼀个元素
# 打开文件 f = open("test.txt","a",encoding="utf-8") # 读取内容 content = f.readlines() print(content) # 关闭文件 f.close()
seek()
作⽤:⽤来移动⽂件指针。
⽂件对象.seek(偏移量, 起始位置) ~~~ 0:⽂件开头 1:当前位置 2:⽂件结尾
⽂件备份
需求:⽤户输⼊当前⽬录下任意⽂件名,程序完成对该⽂件的备份功能(备份⽂件名为xx[备份]后缀,例如:demo[备份].txt)
1. 接收⽤户输⼊的⽂件名 2. 规划备份⽂件名 3. 备份⽂件写⼊数据
代码实现
接收⽤户输⼊⽬标⽂件名
- 提取⽬标⽂件后缀
- 组织备份的⽂件名,xx[备份]后缀
name = input("请输入文件名:") # 后缀中.的下标 index = name.rfind(".") # print(name[:index]) # print(name[index:]) new_name = name[:index]+"备份"+name[index:] print(new_name)
备份⽂件写⼊数据
- 打开源⽂件 和 备份⽂件
- 将源⽂件数据写⼊备份⽂件
- 关闭⽂件
# -*- coding:utf-8 -*- old_name = input("请输入文件名:") index = old_name.rfind(".") # print(name[:index]) # print(name[index:]) new_name = old_name[:index]+"备份"+old_name[index:] old_f = open(old_name,"rb") new_f = open(new_name,"ab") while True: cont = old_f.read() if len(cont) == 0: break new_f.write(cont) old_f.close() new_f.close()
文件和文件夹的操作
在Python中⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能:
导入os模块 ~~~python import os ~~~ ⽂件重命名 ~~~python os.rename(⽬标⽂件名, 新⽂件名) ~~~ 删除⽂件 ~~~python os.remove(⽬标⽂件名) ~~~ 创建⽂件夹 ~~~python os.mkdir(文件名名字) ~~~ 删除⽂件夹 ~~~python os.rmdir(⽂件夹名字) ~~~ 获取当前⽬录 ~~~ os.getcwd() ~~~ 改变默认⽬录 ~~~ os.chdir(⽬录) ~~~ 获取⽬录列表 ~~~ os.listdir(⽬录)
批量重命名
文件夹添加字符串
import os file_list = os.listdir("E:\python_basics") print(file_list) for file in file_list[1:]: new_name = "python_" + file os.rename(file,new_name)
文件夹删除字符串
标签:11,文件,name,python,备份,new,自学,打开,os From: https://blog.csdn.net/weixin_66370632/article/details/137068924
file_list = os.listdir() num = 2 for file in file_list[1:]: if num == 1: new_name = "python_" + file elif num == 2: result = len("python_") new_name = file[result:] os.rename(file,new_name)