zoukankan      html  css  js  c++  java
  • python----文件读写

    一.文件读写步骤

    1.打开文件(只写文件名,默认打开的是当前目录的文件。其他路径写绝对路径)

    2.对文件进行读/写操作

    3.关闭文件

    二.读文件

    1.当不添加utf-8时,报编码错误,

    在打开文件那加上encoding = 'utf-8' ,就不会报错     即file = open('读写文件',encoding='utf-8')

    注意:路径前面加'r',表示不转义,否则在写绝对路径的时候会被转义报错

    file = open(r'读写文件',encoding='utf-8')

    2.文件打开的三种方式   open方法的第二个参数填写,文件打开模式

    2.1 只读模式 (r)  ,写文件会报错  第二个参数默认的是只读模式。

    写报错截图:

    *****三种读取文件的方法 

    a. read()方法获取文件中的所有内容

    b. readline()获取文件第一行的内容

    c. readlines() 获取文件的所有内容,把换行符 也读取,并放到list中

    读模式(r)文件指针:read()和readlines()每读取完文件所有内容,文件指针就移动到末尾 readline()每读取一行,文件指针移动到下一行的前面。

    r模式缺点:1.不能写文件  2.文件不存在时,会报错:FileNotFoundError

    2.2写模式(w)

    只能写,不能读,而且写的内容会覆盖原文件内容。慎用,做好备份!!!

    写模式读文件,写模式报错截图:

     写模式(w)文件指针:文件指针在文件的开头。所以,写的内容会覆盖原文件内容

    w模式缺点:1.不能读文件,2.写入新的文件内容会清空原来文件内容。

    2.3写读模式(w+)   能写也能读,覆盖原有的东西。能读但是读不到内容。

    写读模式(w+)文件指针:写文件时,文件指针在最前面,写完后,文件指针就移动到了末尾。所以读不到内容!

    w+模式缺点:写新的内容,会覆盖清空原有文件里的数据

    2.4读写模式 ( r+)  能写也能读,文件指针写完后,移到文件的的最前面。

    读写模式文件指针:写完文件后,文件指针会移动到最前面。所以能读取到文件内容。

    r+缺点:当文件不存在时,报FileNotFoundError错误

    2.5追加模式:a  能写文件并从文件末尾追加

    a模式文件指针:写完文件,在文件的末尾。

    a模式缺点:1.不能读,因为写完文件后,文件指针在末尾,所以读取不到文件内容2.文件不存在会报错

    2.6 追加读写模式 a+    能写也能读,但读不到内容。当文件不存在时,自动创建文件。

    a+文件指针:因为写完文件内容,文件指针在文件的末尾。所以读取不到内容。

    a+缺点:文件指针位置没有在最前面,读取不到文件内容。

    2.7 a+模式   与seek()方法一起用。就可以弥补a+读取不到内容的缺点了。

    通过seek方法,把文件指针移动到最前面就可以读取到文件的内容

    总结:只要和r有关的,只读模式:r和读写模式文件:r+,文件不存在肯定会报错。只要和w有关的,写会清空覆盖原有文件的内容。追加模式记住a+和seek()方法就完美了。即能读又能写文件不存在还自动创建。

    3.关闭文件

    file.close()

    4.其他方法

    writelines()方法  传的是list

  • 相关阅读:
    【转】android新建项目时 出现appcompat_v7工程错误和红色感叹号
    【转】eclipse新建项目,报错“Error: workspaceappcompat_v7 esvalues-v21styles_base.xml No resource found that matches the given name”
    【转】android开发工具Eclipse,androidStudio,adt网盘下载--不错
    【转】Windows搭建Eclipse+JDK+SDK的Android
    【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
    【转】[MTK软件原创] [SELinux] 如何设置确认selinux模式
    【转】Android中removeCallbacks失效原因
    【转】Android
    【转】Android开发20——单个监听器监听多个按钮点击事件
    【编程】辨异 —— proxy 与 delegate
  • 原文地址:https://www.cnblogs.com/wyhv5/p/9143117.html
Copyright © 2011-2022 走看看