Python基础自学(第四章-文件读写、内置函数)
第一部分:读文件
第一种读取文件方式(使用open()函数)(推荐使用)
- 例子
首先创建一个文件(现在暂时没有学会用命令直接创建,那么手动创建先)
用open()函数打开
文件要记得关闭,想要再次读取得重新打开
第二种读取文件的方式(用file()函数,和open()基本没有区别)
使用readlines()对文件内容按行读取(返回一个列表,每个元素代表文件中的一行)
使用for循环迭代输出文件对象,直到不能读取为止
使用readline只读取文件中的一行(此时文件内容还没给读完,如果此时调用read()函数会读取出除了第一行的其他所有内容)
第二部分:写文件
写文件我们同样用open(),不过要把r改成w,即代表从只读模式转变为只写模式
-
格式(默认里面的参数是r)
open(name,mode=‘w’)(如果文件不存在,那么会创建一个空的文件,然后写入什么就是什么了) -
例子
如果不想让以前的内容消失,那么可以用open()的另一个模式,追加模式(参数为a)
- 例子
还有另一种是读写模式(用参数w+,同样会覆盖以前写入的内容,但是可以查看写入了什么) - 例子
关于中文文件的写
open()函数是按照ASCII码字符串的形式来读写中文文件的,如果我们写入的Unicode字符串的话会抛出异常 - 例子
为了解决这种问题,Python提供了解决办了,导入codecs模块并指定文件的编码格式即可 - 例子
关于中文文件的读
所以在处理中文文件时我们一般都用codecs.open()函数。
第三部分:内置函数
Python的内置函数代表可以直接使用,常用的内置函数如下
-
绝对值的计算(abs()函数,里面的参数可以是整数、长整数、浮点数、复数(返回模的长度))
-
进制之间的转换函数(bin()、oct()、hex(),分别是二、八、十六)
-
ASCII码值的互相转换(chr()、ord(),前者是将码数转为字符,后者相反)
-
商和余数的计算(divmod()函数,返回一个元组,如果是整数那么返回(a/b,a%b),如果是浮点数,那么返回(向下取整的数,a%b))
-
幂的计算(pow())
-
近似值的计算(round(),可以指定近似到小数后几位,不过要考虑浮点数精度问题)
-
序列真假的判断(all()、any(),前一个要序列里面的元素都为真才能返回true,后一个只要有一个为真就能返回true)
-
连续序列的生成(range()、xrange(),前一个产生一个列表,后一个产生一个对象)
当我们用for循环输出列表的元素时,range()函数要生成一个临时的列表,二xrange()不用,这样在一定程度上就节省了空间和时间
- 序列的迭代(enumerate()、zip(),前一个可以在迭代序列时输出序号和值,同时可以指定序号开始的值,后者则是将多个序列放在一起迭代)
zip()里面的参数用,号隔开,可以多个
-
序列的最值(max()、min())
-
序列的切片(slice()三个参数分别是start、stop、step)
- 最后还有很多的内置函数参考这里
这章主要了解内置函数的用法,记住常用即可,其他不知道可以百度了解,注意细节就行