Python-j简单文件操作

1. 读取文件

1.1  'r'模式

以只读方式打开文件,文件的指针将会放在文件的开头。是文件操作最常用的模式,也是默认模式,如果一个文件不设置mode,那么默认使用r模式操作文件。
创建一个文件,里边随便输入几个字母或数字并记录文件位置(想对文件进行操作,必须先知道文件的位置)
f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
re = f.read()   # 读取文件
print(re)
f.close()   # 关闭文件句柄
# 结果:
#  nihao
#  nihao
#  nihao

read()将文件中的内容全部读取出

弊端: 如果文件很大就会非常的占用内存,容易导致内存奔溃

1.1.2 read(n)  

  read()读取的时候指定读取到什么位置,在r模式下,n按照字符进行读取

f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
re = f.read(9)   # 读取文件
print(re)
f.close()   # 关闭文件句柄
# 结果:
# nihao
# nih

 

1.2 readLine()

  readLine()读取的每次只读取一行,读取出来的数据在后边会有一个\n

f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
re = f.readline()   # 读取文件
print(re)
re = f.readline()   # 读取文件
print(re)
f.close()   # 关闭文件句柄
# 结果:
# nihao
# 
# nihao

 

1.3 readLines() 

  readlines() 返回一个列表,列表里面每个元素是原文件的每一行,如果文件很大,占内存,容易崩盘。

f = open('xxx.txt',mode='r',encoding='utf-8')   # 获取文件句柄
re = f.readlines()   # 读取文件
print(re)
f.close()   # 关闭文件句柄
# 结果:
# ['nihao\n', 'nihao\n', 'nihao']

 

rb模式

  rb模式:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。记住下面讲的也是一样,带b的都是以二进制的格式操作文件,他们主要是操作非文字文件:图片,音频,视频等,并且如果你要是带有b的模式操作文件,那么不用声明编码方式。

rb模式也有read read(n) readline(),readlines() for循环这几种方法,跟上边差不多

f1 = open('海贼王1.jpg',mode='rb')     # 使用相对定位对照片进行操作
content = f1.read()
print(content)      # b'\xff\xd8\xff\xe0\x00\x10JFIF\...
f1.close()

 

 

2. 写文件

2.1 'w'模式

  如果文件不存在,利用w模式操作文件,那么它会先创建文件,然后写入内容,如果文件存在,利用w模式操作文件,先清空原文件内容,在写入新内容。

 

2.2 'wb'模式

  以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如:图片,音频,视频等。

f1 = open('海贼王1.jpg',mode='rb')     # 使用相对定位对照片进行操作
f2 = open('海贼王5.jpg',mode='wb')
content = f1.read()
f2.write(content)       # 如若没有该照片,则创建一个并复制
f1.close()
f2.close()

 

posted @ 2020-07-20 20:10  马ある某  阅读(275)  评论(0编辑  收藏  举报