第一步:打开文件 f = open(‘text.txt‘, ‘r‘,encoding=‘utf-8‘)第二部:操作文件 content = f.read()第三步:关闭文件 f.close 注意点:(带有b模式的方式都不要指定编码格式) r 模式打开不存在文件要报错 rb 二进制方式读取数据 w 写入文件要指定编码方式,只用w打开文件会先把源文件数据清空 wb 以二进制方式写入文件,不需要进行编码 a 以追加方式写入文件,文件不存在会创建 ab 以二进制方式追加写入文件,不需要编码 import os # 操作文件和文件夹的模块import shutil # 操作文件和文件夹的高级模块 # 1. 创建一个空的文件,文件名叫做AA.txt# file = open("AA.txt", "wb") # 默认把文件创建到当前工程目录里面# file.close() # 2. 重命名# os.rename("AA1.txt", "aa.txt") # 3. 删除指定文件# os.remove("aa.txt") # 4. 创建空的目录(文件夹)# os.mkdir("AAA")# 把文件创建到指定目录,加上对应的路径即可# file = open("AAA/aa.txt", "wb") # 默认把文件创建到当前工程目录里面# file.close() # os.remove("AAA/aa.txt") # file = open("AAA/aa.txt", "wb") # 默认把文件创建到当前工程目录里面# file.close()## file = open("AAA/bb.txt", "wb") # 默认把文件创建到当前工程目录里面# file.close() # 5. 获取指定目录下的所有文件名# file_name_list = os.listdir("AAA")# print(file_name_list) # 6. 获取当前操作目录的路径path = os.getcwd()print(path) # 获取当前目录下的所有文件名file_name_list = os.listdir(".")print(file_name_list) # 7. 切换目录# os.chdir("AAA") path = os.getcwd()print(path) # os.mkdir("BBB") # 8. 删除空的目录# os.rmdir("BBB") # 切换到上一级目录# os.chdir("..") # 扩展:# 1. 删除非空目录 # os.rmdir("AAA")# shutil.rmtree("AAA") 文件下面还有文件要用shutil# 2. 判断文件是否存在result = os.path.exists("1.png")print(result)result = os.path.exists("AA/777.txt")print(result) # 3. 判断文件夹是否存在result = os.path.exists("AA")print(result) # 4. 判断是否是一个文件result = os.path.isfile("AA/666.txt")print(result)# 5. 判断是否是一个文件夹result = os.path.isdir("AA")print(result) # 6. 获取指定路径的文件名file_name = os.path.basename("A/B/1.txt")print(file_name)# 7. 获取指定路径的文件夹的路径path = os.path.dirname("A/B/1.txt")print(path) # 8. 可以对文件进行分割,获取文件名和文件的后缀, "1.txt" -> 1 .txtfile_name, end_str = os.path.splitext("1.txt")print(file_name, end_str) seek方法(定位光标) 必须以‘rb‘方式打开(三个方式,0是相对文件开头,1是相对上次读取方式,2是相对文件末尾,前面参数必须是负数)
for i in f: offs = -10 while True: f.seek(offs, 2) data = f.readlines() if len(data) > 1: print(‘文件的最后一行是:{}‘.format(data[-1].decode(utf-8)) break offs * 2
# 1. 根据用户输入的文件名,对文件进行拷贝,拷贝后的名字是在原文件的基础上加上[复件],# 比如: 1.txt -> 1[复件].txt
原文地址:https://www.cnblogs.com/wjun0/p/11515366.html
时间: 2024-11-08 22:40:16