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