目录
前言
在Python全栈自动化测试的探索之路上,掌握文件操作能力是至关重要的。通过此文我们将深入Python的
file
函数及文件读写模块,解析如何利用这些基础功能来处理文件。文件操作是自动化测试中的一环,无论是测试数据的准备、测试结果的记录,还是日志的生成,都离不开对文件的读写。通过本文,将学习到如何在Python中高效地操作文件,为后续的自动化测试之路打下坚实的基础。
一、文件操作
Python提供了file(文件)的方法,这种方法在我们日常工作中也是经常用到,比如,我们要把自动化的日志写入到一个文件中,对文件的内容进行修改等,都可以用file提供的方法来实现。
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数
• 格式:open(file_name[,access_mode][, buffering])
1. file_name:文件路径,必填参数。
2. access_mode:打开文件的模式。只读,写入,追加等, 文件默认访问模式为只读(r)。
3. buffering:为0表示不会寄存。为1会寄存行。如果大于1的整数,表明了是寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
二、文件操作常用方法
对于file文件的使用流程:打开文件--读或者写--关闭文件
1. 打开文件:f=open(文件名,模式)
2. 写:f.write(写入的文本内容)
3. 读:f.read([字符数量]) f.readline() f.readlines()
4. 关闭文件:f.close()
在读取和写入文件时,内容含有中文时注意编码格式,添加参数(encoding='utf-8')
模式(Access_mode)参数
1.打开文件
with open('./file/test.txt', 'r+', encoding='utf-8') as f:
print(f.read())
2.Access mode参数
- r 以只读方式打开文件。文件的指针将在文件开头。这是默认模式。
- rb 以二进制格式打开一个文件用于只读。一般用于非文本文件如图片等
- r+ 打开一个文件用于读写(文件的指针将在文件开头)
- w 打开一个文件只用于写入,如果文件存在,清空文本内容再写入,否则新建文件后写入内容
- wb 以二进制格式打开一个文件只用于写入
- w+ 打开一个文件用于读写。如果文件存在,清空文本内容再写入,否则新建文件后写入内容
- a 打开文件追加内容,存在文件,在文件原内容后增加,否则新建写入
- a+ 打开一个文件用于读写。存在文件,在文件原内容后增加,否则新建用于读写
- ab 以二进制格式打开一个文件用于追加,存在文件,在文件原内容后增加,否则新建写入
- ab+ 以二进制格式打开一个文件用于读写。存在文件,在文件原内容后增加,否则新建用于读写
3.w模式,写入
# 案例1:以写入的方式打开一个存在的文件,写入新的数据,关闭文件
file = open('./file/test.txt', 'w')
file.write('test, hello world')
file.close()
# 案例2:以写入的方式打开一个不存在的文件,写入数据,关闭文件
file1 = open('./file/test1.txt', 'w')
file1.write('test1, hello world')
file1.close()
4.a模式,追加
# 案例1:以写入的方式打开一个存在的文件,要求写入新的数据不会覆盖原来的数据,关闭文件
file = open('./file/test.txt', 'a', encoding='utf-8')
file.write('\n追加,hello world')
file.close()
# 案例2:以写入的方式打开一个不存在的文件,写入数据,关闭文件
file1 = open('./file/test1.txt', 'a', encoding='utf-8')
file1.write('\n追加,hello world')
file1.close()
5.r模式,读
# 案例1:读取文件中2个字符的内容
file = open('./file/test.txt', 'r')
print(file.read(2))
file.close()
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 输出结果:
# te
# 案例2:读取文件中第一行的内容
file1 = open('./file/test.txt', 'r')
print(file1.readline())
file1.close()
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 输出结果:
# test, hello world
# 案例3:读取文件中所有的内容
file2 = open('./file/test.txt', 'r', encoding='utf-8')
print(file2.readlines())
file2.close()
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 输出结果:
# ['test, hello world\n', '追加,hello world']
6.r+模式,读写
# 案例1:读取文件中所有的内容后再在末尾添加'python'
file = open('./file/test.txt', 'r+', encoding='utf-8')
print(file.readlines())
file.write('\npython')
file.close()
# 添加新内容后,如何再次读取文件中的所有内容
# file.seek():移动指针
file = open('./file/test.txt', 'r+', encoding='utf-8')
print(file.read())
file.write('\npython')
file.seek(0)
print('\n', file.read())
file.close()
7.file模式总结
总结
通过对Python的
file
函数及文件读写模块的详细讲解,我们掌握了文件操作的基本方法和技巧。在自动化测试中,文件操作扮演着至关重要的角色,它可以帮助我们更好地管理测试数据、记录测试结果以及生成日志。希望本文的内容能够为你提供有价值的参考和启发,让你在Python全栈自动化测试的道路上更加游刃有余。