Python元组及文件核心对象类型详解

yipeiwu_com7年前Python基础

元组

元组是不可变类型,以()表示,是任意对象的有序集合,同样是序列的一种,index和count方法分别是取元素,统计元素个数。
语法比如(2,3)就是一个元组。元组与列表如此类似,为何需要重复的类型,主要它提供了不变性,提供了”常数”声明。元组项虽不能修改,但是嵌套里面的列表项还是可以修改的。

文件

open内置函数创建文件对象,通过这个对象对外部文件进行操作。函数有三个参数,第一个文件路径,第二个是打开模式,打开模式有三种:'r'表示读文件,'w'表示写文件,'a'表示打开文件追加内容,'+'是读写都可以的文件。默认是'r',即读模式。第三个是可选参数,输入0表示输出无缓存。

文件对象的常用方法如flush输出缓冲区刷到硬盘中,close手动关闭文件等。

文件的基础用法

  • 文件迭代器是最好的读取行工具,虽然文件也提供了读取行的方法。
  • 读取返回的内容是字符串,写入的内容也是字符串,所以需要类型转换。
  • close是通常选项,虽然Python在文件对象不再引用时可能会自动关闭文件。
  • 文件的写入默认是有缓冲的,所以不一定即时写到硬盘中去,需要调用flush方法。

在文件中存储对象之前需要把对象转换为字符串,eval内置函数执行Python的字符串中的表达式即转换成对应对象。避免字符串和对象之间的相互转换可以使用pickle模块,调用pickle模块的dump函数可以将对象写入到文件中,调用pickle模块的load函数可以从文件中读取对象。

相关文章

python2.7的编码问题与解决方法

前言 Python的编码问题基本是每个新手都会遇到的坎,但只要完全掌握了就跳过了这个坑,万变不离其中,下面给大家整理了在python2.7遇到的编码问题,下面来一起看看吧。 一、直接在p...

python中print的不换行即时输出的快速解决方法

关于Python2.x和3.x带来的print不换行的问题:昨天有发过推文,利用end = 定义,解决了横向的小问题,但是由于屏幕显示的问题,若字符串长度过大,则会引起不便。两个或多个p...

详解flask入门模板引擎

模板引擎 说明:模板文件就是按照一定的规则书写的展示效果的HTML文件 模板引擎就是负责按照指定规则进行替换的工具 模板引擎选择jinja2 一、渲染模板的方法 1、将渲染的模板进行...

分析python动态规划的递归、非递归实现

概要 本文只是简单的介绍动态规划递归、非递归算法实现 案例一 题目一:求数组非相邻最大和 [题目描述] 在一个数组arr中,找出一组不相邻的数字,使得最后的和最大。 [示例输入]...

pyenv命令管理多个Python版本

从接触Python以来,一直都是采用 virtualenv 和 virtualenvwrapper 来管理不同项目的依赖环境,通过 workon 、 mkvirtualenv 等命令进行...