龙空技术网

软件测试/测试开发丨Python文件操作 学习笔记

测试人666 49

前言:

眼前兄弟们对“open方法用于打开一个文件吗”可能比较讲究,姐妹们都需要分析一些“open方法用于打开一个文件吗”的相关内容。那么小编也在网上收集了一些关于“open方法用于打开一个文件吗””的相关知识,希望各位老铁们能喜欢,同学们快快来学习一下吧!

免费领取:测试资料+性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档 - 公众号 - 测试人社区

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:Python侧开28期-偕行-学习笔记-python文件操作 - 学习笔记 - 测试人社区

文件操作在程序中操作文件和使用图形界面操作文件的过程基本一致,都要进行找到文件位置,打开文件,读写文件,关闭文件等操作。1、打开文件Python 使用 open 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。完整格式:

open(filename, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
简化格式:open(filename, mode='r', encoding=None);filename: 必需,指定打开文件的路径(相对或者绝对路径);mode: 可选,文件打开模式,默认为r只读模式;encoding: 一般使用 utf8;mode参数常见下表:2、关闭文件文件在操作完以后,需要将其关闭,close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。close() 方法允许调用多次。格式:fileObject.close();3、写入文件fileObject.write( str ): 用于向文件中写入指定字符串。如果文件打开模式为b ,则要将字符串转换成 bytes 类型的二进制字符串,函数返回成功写入数据的长度。
# 以写入文件打开 index.html 文件file = open("index.html", "w")# 写入数据result1 = file.write("<h1>文件写入标题</h1>")result2 = file.write("\n")result3 = file.write("<p>文件写入内容。。。。。。</p>")print("result1=",result1)# result1= 15print("result2=",result2)# result2= 1print("result3=",result3)# result3= 19# 关闭文件file.close()
fileObject.writelines(seq):用于向文件中写入一序列的字符串。这一序列字符串可以是由迭代对象产生的,如一个字符串列表。注意:不要被方法名迷惑,如果每个元素独占一行,需要在数据后指定换行符 \n 。
datas = ["AAAAAAAAAAAA\n","BBBBBBBBBBBB\n","CCCCCCCCCCCC\n","DDDDDDDDDDDD\n"]file = open('data.txt',"w")result = file.writelines(datas)print("result=",result)# result= Nonefile.close()
4、读取文件fileObject.read(size=-1):用于从文件读取指定的字节数,如果未给定或为负则读取所有。注意光标的位置,连续读取文件没有关闭的时候,光标会随着读取而向后移动,不会回到默认起始位置;
file = open('data.txt',"r")# 读取10个字符content = file.read(10)print(content)# 读取所有内容content = file.read()print(content)file.close()------------------------------AAAAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCCCDDDDDDDDDDDD
fileObject.readline(size=-1): 用于从文件读取整行,包括 \n 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 \n 字符。该方法默认读取一行,如果指定了长度,会读取这一行中的给定长度,并且如果文件不关闭,光标也不会回到默认起始位置,再次读取会从光标所在位置读取这一行剩下的内容;
file = open('data.txt',"r")# 读取10个字符content = file.readline(10)print(content)# 读取文件指针所在行剩余所有内容content = file.readline()print(content)file.close()---------------------------------------------AAAAAAAAAAAA
fileObject.readlines():用于读取所有行(直到结束符 EOF)并返回列表。
file = open('data.txt',"r")# 以行为单位读取文件所有的内容contents = file.readlines()print(contents)file.close()--------------------------------------------------['AAAAAAAAAAAA\n', 'BBBBBBBBBBBB\n', 'CCCCCCCCCCCC\n', 'DDDDDDDDDDDD\n']
5、作业作业要求

编写一个Python程序,将一些文本内容写入到文件中,并且能够从文件中读取内容并显示出来

"""作业要求编写一个Python程序,将一些文本内容写入到文件中,并且能够从文件中读取内容并显示出来"""def file_write(filename,msg,mode='a',encoding='utf8'):    """    文件写入方法,支持写入:字符串和一序列的字符串    :param filename:文件名称    :param msg:写入内容    :param mode:文件打开方式    :param encoding:内容编码    :return:    """    file = open(filename,mode,encoding=encoding)    if isinstance(msg,str):        # 写入字符串类型        file.write(msg)    elif isinstance(msg,list):        # 写入序列字符串        file.writelines(msg)    else:        # 关闭文件        file.close()        raise Exception("msg type erroe")     # 关闭文件    file.close()def file_read(filename,size=-1,mode='r',encoding='utf8'):    """    读取文件,支持读取一行或所有    :param filname: 文件名    :param size: -1表示读取所有,    :param mode: 文件打开方式    :param encoding: 内容编码    :return:    """    file = open(filename, mode, encoding=encoding)    if size == -1:        # 读取所有内容        content = file.read()        file.close()        return content    elif size == 1:        # 读取一行        content = file.readline()        file.close()        return content    else:        # 关闭文件        file.close()        raise Exception("size error")if __name__ == '__main__':    # 写入文件    filename = 'demo.txt'    # msg = "霍格沃兹测试开发学社\n"    # file_write(filename,msg)    # msg = ["AAAAAAAAAAAA\n","BBBBBBBBBBBB\n","CCCCCCCCCCCC\n","DDDDDDDDDDDD\n"]    # file_write(filename, msg)    # 读取文件    line = file_read(filename,1)    print(line)    all = file_read(filename)    print(all)

标签: #open方法用于打开一个文件吗 #open方法用于打开一个文件吗为什么不能用