在 Python 3 中,write() 函数的返回值是参数 data 的字节数。在 Python 2 中,其返回值是 None。下面演示了这种不同:
- >>> fd = open("out.dat", "w") # Python 3中的情况
- >>> fd.write("line 1") # 写入字符串,返回值是字符的个数
- 6
- >>> fd.close()
- 5
- >>> fd = open("out.dat", "w") # Python 2中的情况下打开文件
- >>> fd.write("line 1") # 写入字符串,返回值为None
- >>> fd.close()
writelines(lines) 函数的功能是写入多行,其中 lines 是一个列表或者元组,执行效果相当于是 write(''.join(lines)),各行之间并不会填充任何数据。
- >>> fd = open("out.dat", "w") # 打开文件out.dat
- >>> fd.writelines(["line1", "line2", "line3"]) # 写入字符串列表
- >>> fd.close() # 关闭文件
- >>> fdr = open("out.dat", "r") # 查看写入的内容
- >>> fdr.read() # 读入文件内容
- 'line1line2line3' # 行与行之间是没有添加任何信息的
- >>> fdr.close() # 关闭fdr
- >>> fd = open("out.dat", "w") # 打开文件out.dat
- >>> fd.writelines(("line1", "line2", "line3")) # 写入字符串元组
- >>> fd.close() # 关闭文件
- >>> fdr = open("out.dat", "r") # 检查写入的数据
- >>> fdr.read() # 可以发现没有添加数据在行之间
- 'line1line2line3'
- >>> fdr.read()