栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

文件操作 写入+读取

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件操作 写入+读取

1.python 文件操作

在自动化测试过程中 需要读取文件中的数据 等价类边界值的测试用例等 还有脚本跑完后的测试结论的写入文件 这些都是和python文件的中测试数据有关。

1.1写入操作

先试着在D盘aaa目录下写入一个tyt.txt文件。

#文件1写入操作
#打开文件 参数1 文件的位置
#参数2 打开文件模式 r--只读不可修改 w--覆盖修改 a--追加写修改
#参数3 指定中文的编码格式
#目录必须要存在 文件可以不存在
f open( d:\aaa\tyt.txt , a ,encoding UTF-8 )
#对象可写可读函数
f.write( today is Sunday )
f.write( n )#换行
f.write( 今天周日 )

最终可以看到生成了这个文件

1.2读取数据

读取数据可以按字符读取 也可以按行读取。
1.先看按字符读取

#从已经存在的文件中读取数据
f2 open( d:\aaa\tyt.txt , r ,encoding UTF-8 )
tytcontent f2.read(2) #读取两个字符
print( 读取的内容是 ,tytcontent)

输出结果

读取的内容是to

解释 如果文本中有换行或空格 也是一个字符。

另外如果连续调用read函数 则是按顺序往下读取 不会每次都从头读取。
举个例子

#从已经存在的文件中读取数据
f2 open( d:\aaa\tyt.txt , r ,encoding UTF-8 )
tytcontent f2.read(2) #读取两个字符
print( 读取的内容是 ,tytcontent)
tytcontent f2.read(2) #读取两个字符
print( 读取的内容是 ,tytcontent)
tytcontent f2.read(3) #读取两个字符
print( 读取的内容是 ,tytcontent)

输出结果为

读取的内容是to
读取的内容是da
读取的内容是y i

2.按行读取
如果文本中行数很多 按字符读取是很不方便的 所以就引出了按行读取。
先看一个一行一行读取的栗子

#按行读取
f3 open( d:\aaa\tyt.txt , r ,encoding UTF-8 )
tytcontent1 f3.readline()
tytcontent1 f3.readline()
print( 第一行数据 ,tytcontent1)
print( 第二行数据 ,tytcontent2)

输出结果

第一行数据 today is Sunday
第二行数据 今天周日

如果要读取所有数据 只需要调用readlines()函数,需要注意的是读取之后 会将所有行塞到列表[]中去。如果要输出读取的内容 需要用循环读取列表。

f3 open( d:\aaa\tyt.txt , r ,encoding UTF-8 )
content1 f3.readlines()
for aa in content:
 print( 内容是%s %aa)
1.3python操作excel文件

需要注意的是 excel必须是后缀名为.xls,python本身是不支持excel操作的 所以必须要扩展 可以用别的库
xlrd库 负责excel的读操作
xlwt和xlutils:负责写操作
一个可以下载所需的任何库的地址 https://pypi.org/
补充一个装库步骤 1.安装 解压–进入解压路径 按住shift打开命令行 –python setup.py install
2.重启pycharm
栗子一 读取excel的数据
先造一个excel文件并保存在英文目录下

#1.打开excel
import xlrd
tytworkbook xlrd.open_workbook( c:\user.xls )
#2.定位Sheet
tytworksheet tytworkbook.sheet_by_name( name1 )
#3.定位单元格(从零开始)
aa tytworksheet.cell(1,1).value
print( 读取的内容是 ,aa)

上面的代码只是获取表中的一个数据 如果要获得多个数据 则需要获得表的行数之后用循环输出

print(tytworksheet.nrows) #输出表的行数
for i in range(tytworksheet.nrows):
 result1 tytworksheet.cell(i,0).value #读取第一列数据
 result2 tytworksheet.cell(i,1).value #读取第二列数据
 print( 行数据 result1 result2)

例子二 使用Python王文建忠写入数据
Python只可以对新建的Excel写入数据 不可以直接对已经存在的Excel进行写入数据。如果说需要对已经存在的Excel进行写入数据 则需要拷贝一份 也就是新建 然后对拷贝的文件做修改之后让其覆盖保存原来的Excel文件。

#1.打开Excel文件
tytwb xlrd.open_workbook( c:/user.xls )
#2.拷贝Excel文件
newtytwb copy(tytwb)
#修改拷贝的文件
#必须用get_sheet(0) 定位第一个sheet
newtytwb.get_sheet(0).write(6,6, changed!! )
#让拷贝的文件覆盖保存原来的文件
newtytwb.save( c:\user.xls )
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266699.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号