Python write()和writelines()函数:写入文本

在 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()

声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。