python打开文件方式

     python中的open()函数用于打开一个文件,创建file对象,相关方法才可以调用它进行读写

     语法:open(name,[,model[,buffering]])

模式描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

       1.读文件     

     

      如果文件打开成功,则显示打开文件ex15_sample.txt的内容

     

      最后一步调用close()方法关闭文件,使用文件完毕后必须关闭文件。因为文件对象会占用操作系统资源,且操作系统同时打开文件数量有限

      

       由于文件读写会产生IO error ,如果报错会导致后面的close()无法执行,所以为了保证是否出错都能正确关闭文件,可以使用try-finally 来实现

      

     (ps:注意try-finally中的缩进问题)

    2.使用with open函数打开,以及常见的坑

#with作用就是调用close()方法

     

    跟前面的try-finally实现功能一样,但是代码更简洁     

   file对象方法    

  •     file.read(size):size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(即空字符串)。
  •     file.readline():每次读取一行
  •     file.readlines([size]):一次性读取所有内容并返回list
  •     for line in f:print(line) :通过迭代器访问
  •     f.write("hello "):如果要写入字符串以外的数据,先将他转换为字符串
  •     f.tell():返回一个整数,表示当前文件指针的位置(文件头的字节数)

       

  •      如果文件小,用read()一次性读取最方便,不确定大小建议用read(size)比较保险,如果是配置文件使用readlines()最方便。

    1.打开非utf-8编码的文件    

f=open('/users/wujing/desktop/test2020/ex15_sample.txt','r',encoding='gbk')
f.read()

  2.打开二进制文件

 读取二进制文件,比如图片、视频等,用rb模式打开即可

       

参考资料:https://blog.csdn.net/chenmozhe22/article/details/81434549   

原文地址:https://www.cnblogs.com/mernva/p/13721383.html