10. 写文件
乙醇 创建于 over 7 years 之前
最后更新: less than a minute 之前
阅读数: 281
背景
这一节里我们来学习如何使用python向文本文件中写入的内容。
我们将实现一个简单的创建测试用例文件的脚本,脚本运行时候接收3个参数,分别是
- 用例编号
- 用例名称
- 断言
这里我们忽略写入测试步骤,这并不表示编写用例时可以忽略测试步骤
代码实现
新建名为write_case.py
,内容如下
from sys import argv
script, case_number, case_name, assertion = argv
file_name = 'case002.txt'
print(f"用例编号: {case_number}")
print(f"用例名称: {case_name}")
print(f"断言: {assertion}")
target = open(file_name, 'w')
print("Truncating the file. Goodbye!")
print(f"write file: {file_name}")
target.write(f"用例编号: {case_number}")
target.write("\n")
target.write(f"用例名称: {case_name}")
target.write("\n")
target.write(f"断言: {assertion}")
target.write("\n")
target.close()
运行
在命令行中使用下面的命令去执行代码
$ python write_case.py 002 Get接口测试 接口返回的状态码必须是200
你应该可以看到
按照下面展示的情况进行输入,如果没有出错的话,你应该可以看到命令行窗口显示如下的内容
用例编号: 002
用例名称: Get接口测试
断言: 接口返回的状态码必须是200
Truncating the file. Goodbye!
write file: case002.txt
这时候当前文件夹会出现case002.txt文件,内容应该如下所示
用例编号: 002
用例名称: Get接口测试
断言: 接口返回的状态码必须是200
关于文件操作
关于文件的操作,请试着自己写代码去调用下面的方法,实践出真知。
- close - 关闭文件。就像是在编辑器里点击文件->保存菜单
- read - 读取文件内容。也可以把读取到的内容赋值给变量
- readline - 读一行内容
- truncate - 清空文件内容
- write('stuff') - 把'stuff'写入文件
- seek(0) - 将读/写的游标移动到文件的开头
理解seek(0)
方法需要知道一些背景知识。
很久之前,计算机将文件保存在磁带上,每次读写内容的时候总是需要将磁带倒带到开头的位置,seek(0)实际上就是模拟这个倒带动作。
动手时间
- 我们在执行本节脚本的时候需要传入3个参数,试着多传或者少传一些参数,看看会发生什么
- 现在我们默认是将文件保存为
case002.txt
,试着修改脚本,将文件保存为my_case_002.txt
常见问题
打开文件的时候,'w'表示什么? 表示'write mode',也就是写入模式的意思。另外可以传入'r',表示读取模式,以及'a',表示'append mode',也就是追加内容模式。
我应该使用什么模式去操作文件? 试着去弄明白这几个模式的意义。
'w+', 'a+', 'r+'