zoukankan      html  css  js  c++  java
  • Python之文件操作

    文件操作

    1.文件初识

      在python中我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种操作了.

    2.只读操作(r,rb)

      我们先来看一个简单的只读程序:encoding表示编码集,

    f=open("0608练习.py",mode="r",encoding="UTF-8")
    content=f.read()
    print(content)
    
    尖峰时刻
    nfdjnk决定能否及时缴纳
    fkf
    获得较好的经济
    十八届

      而当类型为"rb"时,读取出来的数据是bytes类型,就不能再选择encording类型了

    f=open("0608练习.py",mode="rb")
    content=f.read()
    print(content)
    
    b'xe5xb0x96xe5xb3xb0xe6x97xb6xe5x88xbb
    nfdjnkxe5x86xb3xe5xaex9axe8x83xbdxe5x90
    xa6xe5x8fx8axe6x97xb6xe7xbcxb4xe7xbaxb3 fkf xe8x8exb7xe5xbex97xe8xbex83xe5xa5
    xbdxe7x9ax84xe7xbbx8fxe6xb5x8e xe5x8dx81xe5x85xabxe5xb1x8a
    '

      rb的作用,在读取非文本文件的时候,比如MP3,音频,视频等文件时,就要用到rb.

      绝对路径和相对路径

      a.绝对路径:从磁盘根目录开始一直到该文件名

      b.相对路径根据当前程序所在文件与具体要打开文件的相对位置确定路径,用"../"表示退出,推荐使用相对路径!

      读取文件的方法

      a.  .read()  将文件中的内容全部读取出来,占内存,文件过大的话容易崩溃

      b.  .read(n) 读取n个字符,注意,如果再次读取,那么会在当前位置继续读下去而不是从头开始读,如果使用的是rb模式,则读出来的是n个字节.

      c.  .readline() 读取一行数据,

    f=open("0608练习.py",mode="r",encoding="UTF-8")
    content=f.readline()
    content1=f.readline()
    content2=f.readline()
    content3=f.readline()
    content4=f.readline()
    print(content)
    print(content1)
    print(content2)
    print(content3)
    print(content4)
    
    
    尖峰时刻
    
    nfdjnk决定能否及时缴纳
    
    fkf
    
    获得较好的经济
    
    十八届

      readline()结尾,每次会有一个 ,我们需要使用.strip()来去除 及空格

    f=open("0608练习.py",mode="r",encoding="UTF-8")
    content=f.readline().strip()
    content1=f.readline().strip()
    content2=f.readline().strip()
    content3=f.readline().strip()
    content4=f.readline().strip()
    print(content)
    print(content1)
    print(content2)
    print(content3)
    print(content4)
    
    
    尖峰时刻
    nfdjnk决定能否及时缴纳
    fkf
    获得较好的经济
    十八届

      d.  .readlines()

      将每一行形成一个元素放到一个列表里,将所有的内容都读取出来,也容易造成系统崩溃

      e.  .循环读取    这种方法是最好的,每次读取一行内容,不会造成内存溢出

    f=open("0608练习.py",mode="r",encoding="UTF-8")
    for line in f:
        print(line.strip())
    
    尖峰时刻
    nfdjnk决定能否及时缴纳
    fkf
    获得较好的经济
    十八届

      注意:读取完文件一定要加f.close()关闭文件

    3.只写操作(w,wb)

      写的时候注意,如果没有文件会创建文件.如果已有文件,则会将源文件的内容删除,再创建新的内容

    4.追加操作(a,ab)

      在追加模式下,我们写入的内容会被追加到文件的结尾

    5.r+读写

      读写模式,必须是先读,因为光标默认是在开头

    6.w+写读

      先将所有的内容清空,然后写入,最后读取但是读取的内容是空的,不常用

    7.a+写读(追加写读)

      苟富贵

    8.其他操作方法

      风高放火

    9.文件的修改以及另一种打开文件句柄的方式

      苟富贵

  • 相关阅读:
    安卓代码混淆与反射冲突,地图无法显示等问题解决及反编译方法
    脱掉360奇虎的“加固保”壳后的发现与你的微信安全
    android 发送http请求
    mysql sql优化
    hdu 1548 A strange lift
    【转】vc中使用SendMessage正确发送自定义消息的方法--不错
    【转】各种常用浏览器“兼容性视图”设置方法
    IE 弹出"Unable to do xml/xsl" Processing
    【转】MFC界面更新实现方法
    【转】怎么在Foxmail回复/转发时使用签名?
  • 原文地址:https://www.cnblogs.com/wdbgqq/p/9157167.html
Copyright © 2011-2022 走看看