一、读写文件
open()函数
f_object = open(name, [, mode])
功能:用于打开一个文件,并返回一个文件对象,将该对象赋值给变量f_object
name:需要读取的文件名,或者包括该文件名的路径
注:当.py文件和数据文件在同一个目录时,则可以直接写文件名,
否则一定需要加上该文件所在的路径名称。eg:f=open(“C:\python\data.txt”,”r”)
如果读取的文件不存在,会抛出一个 IOError 的错误,告诉你文件不存在。
mode:操作模式,可选参数,用于选择文件的打开方式。
1. 读文件:
• mode=’r’,以只读方式打开文件。从头开始读取文件的内容。
• mode= ‘rb’,以二进制格式的只读方式打开文件。从头开始读取文件的内容。
注:“只读”表示只能读取,不能修改
f = open("data.txt", "r")
list_a = []
list_b = []
#for模块是将文件对象 f 按文件中的内容进行逐行读取,读出的内容是字符串类型
for line in f:
# strip()是字符串内置函数
# strip()功能是用于删除字符串头尾的空格以及换行
list_a.append(line)
list_b.append(line.strip())
print(list_a)
print(list_b)
#读完的文件一定要记得关闭!!
#使用内置函数close()关闭文件。关闭之后,文件对象 f 就没有数据了。
f.close()
输出
['0\n', '1\n', '2\n', '3\n', '4\n', '5\n', '\n', '7']
['0', '1', '2', '3', '4', '5', '', '7']
2. 写文件:
mode:操作模式
• mode=’w’,打开一个文件只用于写入。
如果该文件已存在,则打开文件,并从头编辑,即原有内容会被覆盖。
如果写入的文件不存在,open() 函数会按照指定路径新建一个文件。
• mode=’wb’,以二进制格式打开一个文件只用于写入。
如果该文件已存在,则打开文件,并从头编辑,即原有内容会被覆盖。
注:还有其他mode,可在python shell中通过指令 help(open)查看
注意,写入文件中的内容一定要是字符串格式,
如果不是字符串,则调用内置函数str()将其强制转换成字符串格式。
'''
f = open("data.txt", "w")
list_a = ["bob", "dashima", "123"]
for ins in list_a:
f.write(ins + "\n") #\n 将一行一行写入
f.close()
'''
# 简便的方法,只需要将变量中的元素提前转换或连接成为一个字符串即可:
f = open("data.txt", "w")
list_a = ["bob", "dashima", "123"]
# join()为字符串内置函数
# join()功能是将序列中的元素以指定的字符连接生成一个新的字符串
str1 = "\n".join(list_a)
print(str1)
f.write(str1)
f.close()
输出
bob
dashima
123