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())

  

  

时间: 2024-10-08 15:25:10

Python学习笔记(十三)的相关文章

python学习笔记十三 JS,Dom,JQuery(进阶篇)

JS介绍 JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用:JavaScript 是因特网上最流行的脚本语言. JavaScript 与 Java 是两种完全不同的语言,无论在概念还是设计上. Java(由 Sun 发明)是更复杂的编程语言. ECMA-262 是 JavaScript 标准的官方名称. JavaScript 由 Brendan Eich 发明.它于 1995 年出现在 Net

python学习笔记十三:Flask demo

一.Flask简介 Flask 是一个 Python 实现的 Web 开发微框架.官网:http://flask.pocoo.org/ 二.Demo 1.代码结构 . ├── blog.py ├── static │   ├── css │   │   └── index.css │   ├── images │   │   ├── cat.jpg │   │   └── sheying1229.jpg │   └── js └── templates ├── index.html ├── lo

python 学习笔记十三 jQuery案例(进阶篇)

1.选择器和筛选器 案例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> //定义css样式,自定义 .hide{ display: none; } .coating{ z-index: 1; opacity: 0.5; position: fix

Go语言学习笔记十三: Map集合

Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. Go语言中Map的写法比Java简单些,比Python繁琐. 定义Map var x map[string]string x : = make(map[string]string) 写法上有些奇怪,map为关键字,右侧中括号内部为key的类型,中括号外部为value的类型.一般情况下使用逗号或者冒号

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

python学习笔记12-模块使用

python学习笔记12-模块使用 模块os,sys 什么是模块? 模块os,sys 模块是Python组织代码的一种基本方式 一个Python脚本可以单独运行,也可以导入到另外一个脚本运行,用import hello语句来导入,不用加入.py 什么是Python的 包? Python的模块可以按照目录组织为包 创建一个包的步骤: 创建一个名字为包名的目录 在改目录下创建一个__init__.py文件 根据需要,在该目录下存放脚本文件或已编译的扩展及子包 import pack.m1,pack.

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd