首页 > 编程语言 > 详细

Python3-2020-测试开发-23- 文件操作

时间:2020-06-23 19:20:53      阅读:73      评论:0      收藏:0      [点我收藏+]

一、文件分类

"""文本文件和二进制文件"""

# 文本文件
# 文本文件存储的是普通的“字符”文本,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

 



Python3-2020-测试开发-23- 文件操作

原文:https://www.cnblogs.com/chushujin/p/13183837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!