• python之文件的读取写入


    文件的读取与写入
    
    open()的方式,你必须先用Python内置的open()函数打开一个文件,才可以调用它进行读写。这种方式注意要养成读取或写入完毕之后,加一个close()方法习惯,避免资源占用。
    r模式是只读(默认模式,可以省略,省略时表示执行r模式),w写入模式,a追加写入模式,注意写入文件的 内容均为字符串类型 
    w模式是只用于写入,如果文件存在,直接清空原先的文本,写入新的文本,如果文件不存在,则新建写入。注意写入文件的内容均为字符串类型
    a模式是追加写入,在原先文本的后面写入内容。如果原文件不存在,则新建写入。
    例:
    #打开文件 encoding='utf-8'如果不写没有报错,就不需要写
    file1=open('d:/2020826.txt','w',encoding='utf-8') 
    file1.write('我是一个文件')   #写入
    file1.close()        #关闭
    
    文件打开后光标的位置移动seek()
    
    seek(offset [,from])  offset表示要移动的字节数   from表示光标从哪个位置开始移动,不写的话默认为0
    第二个参数 from有3个值。
    0:默认值,表示回到文件的开头。注意1,2,只有在rb模式(二进制模式)下才生效
    1:表示从文件的当前位置开始统计光标位置
    2:表示从文件的末尾位置开始统计光标位置 比如file1.seek(-3,2)表示光标跳转到文件末尾,然后向左偏移3位
    例:
    file1=open('d:/file1.txt','rb')
    file1.seek(-3,2)    #表示将光标跳转到文件末尾,然后向左偏移三位开始读取
    file1.close()

      读写操作  r+  w+ a+

    w+删除以前的内容,写入新的内容,如果找不到文件创建文件写入 
    r+覆盖以前的内容,如果找不到文件,则报错 注意:和w+区别是,r+从文件开头位置开始一边写入一边清空,w+是彻底删除后写入
    a+接着以前的内容往后写,如果找不到文件创建文件 
    file1=open('d:/323.txt','r+') 
    file1.write('电风扇') 
    file1.seek(0) 
    file1.close()
    
    再介绍一种写法 with open,它不需要我们自己写close方法关闭,比较好用,用法的话和open等同还可以打开多个文件
    with open('d:/123.txt','r+') as file1:    #打开文件并起别名file1
        file1.write('电风扇')
        file1.seek(0)
        print(file1.read())

    关于splitlines()、readline()、readlines()用法
    splitlines()  读取文件所有的内容,以‘行’为单位返回列表
    # splitlines是否保留换行符('
    ', '
    ', 
    ')默认为为False,不包含换行符,如果为 True,则保留换行符。
     
    readline()  一次读取文件中一行内容,里面可以有一个参数表示读取几个字符,返回字符串。如果执行两次readline(),中间会有一个空行
     
    readlines()  一次读取整个文件,其返回值是一个列表,每一行为一个元素
     




  • 相关阅读:
    使用goto跳转到switch的某个case 拓荒者
    sql server 跨服务器查询 拓荒者
    [转]ASP.NET 缓存:方法和最佳实践 拓荒者
    asp.net gridview 和 repeater 模板代码示例 拓荒者
    【转】配置子目录Web.config使其消除继承,用虚拟目录创建多个网站的方法 拓荒者
    PostSharp Thread Dispatching(GUI多线程)
    Silverlight获取WebHost配置信息WebClient和XmlSerializer模拟
    Google Chrome 語音辨識
    MSBuild + MSILInect实现编译时AOP之预览
    Silverlight DataGrid行背景分组着色
  • 原文地址:https://www.cnblogs.com/king2/p/13564259.html
Copyright © 2020-2023  润新知