6.1 标准输入/输出
6.1.2 格式化输出
(类似于C语言)
- %d:整数
- %f:浮点数
- %s:字符串
- %p:数据的内存地址(十六进制)
其他(括号内是宽度):
- str.rjust():靠右对齐
- str.ljust():靠左对齐
- str.center():居中
6.1.3 美观输出函数pprint()
1.函数pprint()
depth参数:控制输出的嵌入深度。
width:调整宽度。
indent():调整缩进。
2.函数pformat()
若要格式化数据结构而不将其直接输入到流中时使用。
3.PrettyPrinter类
设置indent(缩进)参数。
6.2 文件读写
6.2.1 内置函数open()
file object=open(文件名/文件路径[,access_mode][,buffering])
access_mode(访问模式):
- 'r':只读模式
- 'w':只写模式
- 'x':以独占创建方式打开一个文件,如果文件已经存在即失败
- 'a':以写方式打开文件,新内容加到已有内容后面
- 'b':二进制模式
- 't':文本模式(默认)
- '+':打开一个磁盘文件用于读/写
- 'wb':以二进制模式打开文件,并将文件清空为0字节
- 'rb':以二进制模式打开文件但不清空文件
6.2.2 文件对象的方法
1.write()方法
fileObject.write(str)
每次读写完文件,要及时调用函数close()关闭它,否则容易造成数据丢失。
可以用with...as打开文件,以保证文件的函数close()被自动调用,从而可以防止因忘记调用函数close()而引起的问题。
2.read()方法
fileObject.read([size])
读取size个字符(文本模式)或size字节(二进制模式)。
如果没有提供size,会一次读入文件的所有内容。
3.readline()方法和readlines()方法
fileObject.readline([size])
从文件fileObject表示的文件中读取一行,即从文件对象的当前位置一直读取内容直到遇到换行符\n。
fileObject.readlines([sizehint])
读取文件直到结束符EOF,并返回一个列表。
4.writelines()方法
fileObject.writelines(iterable)
将一个iterable对象表示的一系列字符串写入文件对象fileObject代表的文件中。一次可以写多个字符串到一个文件中,且该方法没有返回值。
6.2.4 tell()方法和seek()方法
f.seek(offset,from_what)
将文件定位到一个参考点加上偏移量offset的位置,参考点由from_what决定。
0表示开头位置,1表示当前位置,2表示文件结尾。
seek(x,0):从开头位置,即文件首行首字符开始往后偏移x个字符或字节。