输入与输出
输出
Python两种输出值的方法:表达式语句和print()函数。
希望输出的值转成字符串可以使用repr()或str()函数来实现
- str():函数返回一个用户易读的表达形式
- repr():产生一个解释器易读的表达式,可以转义字符串中的特殊字符,参数可以是python中的任何对象。
format函数
str.format()函数在输出的格式是
print("{}和{}".format(1,2))
输出:1和2
如果format中使用了关键字参数,那么它的值会指向使用该名字的参数。位置参数和关键字参数可以任意的结合。
可选项:
和格式标识符可以跟着字段名,形式m.n
,m保证该域至少有那么多的宽度,n表示保留小数的位数。
读取键盘输入
Python提供了input()内置函数从标准输入读入一行文本,默认的标准输入是键盘。结束的是一个字符串。
读和写文件
open(filename, mode)
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
- filename:包含了你要访问的文件名称的字符串值。可以在字符串前面加
r/R
防止转义字符。 - mode:决定了打开文件的模式。默认文件访问模式为只读®
- buffering:设置缓冲
- encoding:一般使用utf-8
- errors:报错级别
- newline:区分换行符
- closefd:传入的file参数类型
- opener:设置自定义开启器,返回值必须是一个打开的文件描述符。
模式 | 描述 |
---|---|
r | 以只读方式打开文件,文件的指针将会放在文件的开头。是默认模式 |
rb | 以二进制格式打开一个文件用于只读。文件的指针将会放在文件的开头。 |
r+ | 打开一个文件用于读写,文件的指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件的指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除,如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除,如果该文件不存在,创建新文件。 |
w+ | 打开一个文件只用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除,如果该文件不存在,创建新文件 |
wb+ | 以二进制格式打开一个文件只用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除,如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针会放在文件的结尾。文件打开时是追加模式。如果该文件不存在,创建新文件进行写入。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针会放在文件的结尾。如果该文件不存在,创建新文件进行写入。 |
r+和w+的区别是如果文件不存在w+会创建文件,r+会报错。
文件对象的方法
f.read()
读取一个文件的内容,调用f.read(size)
,将读取一个数目的数据,然后作为字符串或字节对象返回。size是一个可选的数字类型的参数,如果忽略或者为负,那么该文件的使用内容都将被读取并且放返回。
f.readline()
会从文件中读取单独的一行。如果返回一个空字符串,说明已经读取到最后一行。
f.readlines()
将返回该文件中包含的所有行。如果设置可选参数sizehint,则读取指定长度的字节,并且将这些字节按行分割。返回一个列表。
f.write()
f.write(string)将string写入到文件中,然后返回写入的字符数。
注:不是字符串的内容要转换成字符串后写入。
f.tell()
返回文件对象当前所处的位置,它是从文件开头开始算起的字节数。
f.seek()
用于改变文件当前所在的位置,使用f.seek(offset, from_what)函数。
from_what的值,如果是0表示开头,如果是1表示当前位置,2表示文件的结尾。
- seek(x, 0):从起始位置即文件首行首字符开始移动x个字符
- seek(x, 1):表示从当前位置往后移动x个字符
- seek(-x, 2):表示从文件的结尾网前移动x个字符
f.close()
在文本文件中,只会相对于文件起始位置进行定位。
当处理完一个文件后,调用f.close()来关闭文件并释放系统的资源。
使用open()方法一定要保证关闭文件对象,调用close()方法。