一、文件分类
"""文本文件和二进制文件"""
# 文本文件
# 文本文件存储的是普通的“字符”文本,python默认为unicode字符集(两个字节表示一个字符),最多可以表示65536个
# 二进制文件
# 二进制文件把数据内容用“字节”进行存储,无法用记事本打开
二、文件打开方式
# 打开的方式
# r----------------读read模式
# w----------------写write模式,如果文件不存在则创建,如果文件存在,则重写新内容
# a----------------追加append模式,如果文件不存在则创建,如果文件存在则在文件末尾追加新内容
# b----------------二进制模式(可与其他模式组合使用)
# +----------------读写模式(可与其他模式组合使用)
三、文件操作
# 常用编码 # python默认的是Unicode编码UTF-8,os操作系统默认为GBK # f = open(r"xxxx","w",encoding="utf-8") # 这样即可使用utf-8打开文件 # write 和 writelines()写入数据 # writelines(l)把字符串列表写入文件中,不添加换行符 # write(s):将字符串s写入文件 # writelines([‘褚01\n‘,‘褚02\n‘,‘褚03‘]) # 文件的读取 # read([size]):从文件读取size个字符,并作为结果返回,如果没有size参数,则读取整个文件,读取至文件尾,会返回空字符串 # readline(),读取一行作为结果返回,读取到文件末尾,会返回空字符串 # readlines(),文本文件中,每一行作为一个字符串存入列表中,返回该列表的
文件内容如下:在文件末尾添加#0 #1 #2
褚01
褚02
褚03
方法:enumerate
l = [‘a‘,‘b‘,"c"] l1 = enumerate(l) print(l1) print(list(l1)) —————————————————————————————————— <enumerate object at 0x00000232F8B74A20> [(0, ‘a‘), (1, ‘b‘), (2, ‘c‘)]
实现方式:
import os path = os.path.split(os.path.split(os.path.realpath(__file__))[0])[0] # (‘C:\\chushujin\\study\\mypythonscript\\src\\com.csjin.qa2020\\TestException‘, ‘Test02.py‘) print(path) path_txt = os.path.join(path,"test.txt") """ 将文件中的每行末尾加一个 #index 褚01 #0 褚02 #1 褚03 #2 """ with open(path_txt,"r",encoding="utf-8") as f: lines = f.readlines() 使用推导式数列 lines = [line.rstrip() + "#"+ str(index)+"\n" for index,line in enumerate(lines)] print(lines) with open(path_txt,"w",encoding=‘utf-8‘) as f: f.writelines(lines)
输出:
褚01#0 褚02#1 褚03#2
原文:https://www.cnblogs.com/chushujin/p/13183837.html