码迷,mamicode.com
首页 > 其他好文 > 详细

8:文件读写

时间:2018-09-23 16:24:10      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:文件操作   文件中   flush   模式   图片   enc   指针   filename   二次   

1. 操作文件的流程:

1、有个文件;
2、打开文件:open(filename)。模式:只读 r、写 w、追加模式 a+。默认以只读模式打开;
3、操作文件:进行读操作或写操作;
4、关闭文件:close()。

2. 文件操作模式

  • r 只读,打开的文件不存在,会报错.默认以 r 模式打开。
  • w 只写,会清空原来文件的内容,若文件不存在,会新建。
  • a 追加写,不会清空,若文件不存在,会新建;但是不能读。

  • r+ 读写模式,打开不存在的文件会报错。
  • w+ 写读模式,会把文件内容清空。
  • a+ 追加读模式。文件指针在最后,需要先移动文件指针,才能读到内容。文件不存在的时候不会报错。
  • wb 二进制模式的写,如视频、MP3、图片。

2.1 示例

#以 w 模式打开文件,进行写操作时会把文件中原来的内容覆盖掉

filename = ‘user.txt‘
f = open(filename, ‘w‘) 
f.write(‘test,123‘)
f.close()

# a+ 模式打开文件后会把文件指针移动到最后面,如果直接读会读不到东西。
f = open(filename, ‘a+‘) 
f.seek(0) #移动文件指针到开始位置
print(f.read()) #获取到文件中的所有内容
f.write(‘test2,123456\n‘)
f.flush()
f.close()

3. read() 、 readline()、readlines()

f = open(‘users.txt‘, ‘a+‘, encoding=‘utf-8‘)

#print(‘第一次读‘, f.read()) # 一次性读完所有内容
#print(‘第二次读‘, f.read()) # 第二次去读的时候不会读到内容

print(f.readlines()) # 获取到文件所有行, 获取一个列表,每一行是列表中的一个元素
f.readline() # 一行一行的读

4. write()、writelines()

 a = [‘user1,12344‘, ‘user2,23456‘]
 # 使用 write 方法把列表 a 的内容写进文件里,需要循环
 for i in a:
     f.write(i+‘\n‘)
 # 使用 wrtielines 则不需要。
 f.writelines(a)

# 如果是要把一个字符串写进文件直接用 write, 如果是一个 list,就用 writelines。

8:文件读写

标签:文件操作   文件中   flush   模式   图片   enc   指针   filename   二次   

原文地址:https://www.cnblogs.com/mayytest1202/p/9692710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!