Python学习笔记(十三)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记(十三)相关的知识,希望对你有一定的参考价值。

一、读文件

  file = open("文件路径名","读写模式")  # r :读模式 、w :写模式、a :追加模式

  如果文件存在,则打开文件成功,如果文件不存在,则打开错误,会抛出一个IOError错误

  file_content = file.read() #读取文件中的数据并以字符串的形式返回到内存中


二、关闭文件

  file = open(...)
  file.close()

  由于文件读取可能存在抛出IOError错误,所以一旦抛出此错误,那么后续的file.close()则得不到调用,所以应该将读文件放在try...except..finally中

  Python中提供了一种简单的方法,打开文件,其效果是和使用try...except...是一样的,但代码将更加简洁且不必调用close()关闭文件的方法,例如:
  with open(...) as file1:
    print(f.read())


三、读取文件的大小

  如果文件较小,则可以方便的使用read()函数,而如果文件较大的话,则无法一次性的全部读取到内存中,那么则可以使用:read(size)方法来限制读取文件的大小或者也可以使用readline()方法


四、读取二进制文件

  file1 = open(file_path,file_mode) #其中file_mode写为:rb 即可


五、字符编码

  如果要读取非UTF-8的文本文件,则在打开文件时可以通过encoding指定其编码,例如:file = open(file_path,file_mode,encoding="gbk"),也可以通过errors="ignore"来忽略错误的编码字符


六、写文件

  在Python中写文件的读取模式为:w、wb
  在Python中写文件时数据并不会直接一个一个写入文件,而是先在内存中的缓存区中存储起来,直到一定程度或者一定状态再将文件写到硬盘中去,在写文件时一定要close(),因此只有调用此函数,Python才保证将所有的文件写入到硬盘中
  在Python中如果要写入特定编码的文件,可以在open()函数中通过encoding关键字来指定其编码


七、操作内存中的str与bytes

  对数据的读和写不一定是文件,也可以是读写内存中的值

  Python中使用StringIO可以在内存中读写字符串的相关数据
  from io import StringIO
  str_io = StringIO()
  str_io.write("hello")
  str_io.write(‘‘)
  str_io.writelines("world")
  print(str_io.getvalue())

  可以通过getvalue()方法获取写入后的str_io

  from io import BytesIO
  bytes_io = BytesIO()
  bytes_io.write("hello")
  bytes_io.write("中文".encode("utf-8"))
  print(bytes_io.getvalue())

  

  






















以上是关于Python学习笔记(十三)的主要内容,如果未能解决你的问题,请参考以下文章

Python 学习笔记(十三)Python函数

python基础学习笔记(十三)

Python学习笔记(二十三)文件读写

python学习笔记(十三): 多线程多进程

Python 学习笔记(十三)Python函数

python学习笔记(十三)-python对Excel进行读写修改操作