python-文件操作

文件操作

读取文件

1.操作文件的第一种方式(读文件)

f = open('a.txt',encoding='utf-8') content = f.read()   #<class 'str'> print(content,type(content)) #释放资源 f.close() #释放后调用资源 #content1 = f.read() #print(content1)  # ValueError: I/O operation on closed file. 
注意:在关闭资源后,就不能够读取数据

2.读取文件的第二种方式:这种方式自动释放资源

with open('a.txt',encoding = 'utf-8') as f:     content3 = f.read()     print(content3) 

3.可以自定义读入资源的多少(在read()中填读取的大小即可)

with open('a.txt',encoding = 'utf-8') as f:     content4 =  f.read(30)     print(content4) 

2.写入文件

1. 写入数据如果不存在,会自动创建

  • 注意:因为Windows支持GBK编码格式,而python支持utf-8格式,所有想要写入中文,就得设置一下编码 encoding = 'utf-8'
with open('aa.txt','a',encoding = 'utf-8') as f:     f.write('we can english!')     f.write('我能不能是中文呢?') 

追加操作:在open()内部写入 a 即append 即可

with open('aa.txt','a',encoding = 'utf-8') as f:     # \r\n 是换行操作     f.write('\r\nhahaha')     f.write('我和哈哈是追加的。') 

读取特定的文件的操作

文件为:

name,sex,age,address,email 小花,女,19,安徽合肥,[email protected] 小虎,男,21,江苏南京,[email protected] 小倩,女,22,湖北武汉,[email protected] 小壮,男,23,云南昆明,[email protected] 小小,女,34,山东临沂,[email protected] 
with open('c.txt','r',encoding = 'utf-8') as f:     #list1 = f.readline()  # <class 'str'> 当读取一行或者直接read(),格式是字符串     list2 = f.readlines()  # 此时读取的是列表格式,可以进行操作     # 以逗号进行分割,然后遍历获取第列数据     for line in list2:         list3 = line.split(',')         print(list3[0],type(list3)) #name <class 'list'> 

将固定格式的数据写入到文本文件中

list4 = [['1', 'q', 'w', 'e', 'r', 't','y'],['2','qq','ww','ee','rr','tt','yy'],['3','qqq','www','eee','rrr','ttt','yyy']] with open('f.txt','w') as f4:     for i in list4:         print(i,type(i))         i = '|'.join(i)         i = i +'\r\n'         f4.write(i) f4.close()