一、基本用法
1、文件内建函数open()
一般用open函数打开文件
file = open(file_name, access_mode = 'r')
#或
with open(file_name, access_mode = 'r') as file:
...
对文件的操作方式有‘r’,‘w’,'a’模式,分别代表读取、写入和追加。具体见下表:
举一些文件打开的例子:
f = open('/python/example.txt','r') #以读方式打开
f = open('test.txt','w') #以写方式打开
2、文件内建方法
1)输入
read() 方法用来直接读取字节到字符串中,最多读取给定数目个字节。
readline() 方法读取打开文件的一行,然后整行包括行结束符,作为字符串返回。
readlines() 方法不像其他两个输入方法一样返回一个字符串,他会读取所有的行,然后把他们作为一个字符串列表返回。
注:当使用readlines()从文件中读取行时,并不会自动删去其结束符,这个操作需要个人完成,如:
f = open(my_file,'r')
data = [line.strip() for line in f.readlines()]
#strip()函数是用来删除字符串头或尾的指定字符,默认为空格或换行符。
f.close()
2)输出
write() 方法的功能与read()和readline()相反,他把含有文本数据或二进制数据的字符串写入到文件中去。
writelines() 方法是针对列表的操作,他接受一个字符串列表,然后将他们写入文件,行结束符并不会被自动加入,如果需要,需要在调用方法前,在每行加上行结束符,如:
#把array写入txt文件中
array = np.arrray([[1,2,3],
[4,5,6]])
with open(my_file,'w') as f:
for line in array:
#首先把array里的int数据变成字符型
elem = ' '.join([str(i) for i in line])
f.write(elem+'\n') #手动加'\n'是为了换行
f.close()
elem = ’ '.join([str(i) for i in line]) 这个用法要记住。
关于写文件时,加换行符,还有一种实现方式。如果要写的内容已经是字符串数组,则可以用:
str_list = [line+'\n' for line in str_list]
f.writelines(str_list)