码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记(十三)

时间:2017-09-16 17:17:38      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:file_path   相关   读取文件   学习笔记   string   写入   代码   import   code   

一、读文件

  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学习笔记(十三)

标签:file_path   相关   读取文件   学习笔记   string   写入   代码   import   code   

原文地址:http://www.cnblogs.com/userchencq/p/7531523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!