重生归来,我要成功 Python 高手--day13 文件操作读取
·
文件的读取
文件:文本文件,视频文件,音频文件,图像文件,可执行文件等
文件的操作包含:打开,读写,关闭
文件的读取:
open("文件名称",'操作类型',‘文件的编码格式’)
文件的关闭
文件变量 .close()
在文件读取时遇到的问题:
文件读取时,如果文件和程序在同意目录下可以直接使用文件名称读取,如果没有需要使用文件的绝对路径,文件的绝对路径写入时一般使用‘\\'或者是‘/’来使用,,,或者使用r字符串路径的形式使用
操作类型:r:只读 w:写入 a:追加
w:写入,如果文件以及存在则覆盖原有的文件内容,重新写入
a:追加,如果文件已有则在原有的内容后追加
读取:
文件对象.read(【num】):读取文件如果不写num则读取全部文件,如果写了读取指定长度的文件,换行符也算是一个字符
f=open("text","r",encoding="UTF-8")
# data=f.read()
data2=f.read(6) # 读取6的长度包含换行符
# print(data)
# print(type(data))
print(data2)
# 文件的关闭
f.close()
读取时靠内部的指针来找到读取的位置在哪里,如果第一遍读取到了所有内容则第二个读取为空,需要文本变量调用seek(0)使指针从零开始进行第二次读取
f=open("text","r",encoding="UTF-8")
# data=f.read()
data2=f.read() # 读取6的长度包含换行符
f.seek(0)
data3=f.read() # 读取6的长度包含换行符
# print(data)
# print(type(data))
print(data2)
print(data3)
readlines()
按照行的方式读取全部文件,并返回为一个列表,其中每一行数据就为一个元素
# readlines读取
# 读取文件
data=open('text','r',encoding='utf-8')
data1=data.readlines()
print(data1)
print(type(data1))
# 关闭文件
data.close()
readline()每次读取一行的内容
#读取文件每次读取一行
data=open('text','r',encoding='utf-8')
data2=data.readline()
data3=data.readline()
print(data2)
print(data3)
data.close()
for 循环读取
for line in open():
print(line)
每个line中存储的就是文本的一行数据
将文本以字典的形式输出
以字典的形式输出
d={}
for i in open("name",'r',encoding='utf-8'):
s=i.strip() # 去除换行
# print(s)
line=s.split(',') # 去除逗号
# print(line)
d[line[0]]=(line[1],line[2]) # 因为是括号所以值是元组
print(d)
with open操作
with open() as f:
f.readlines()
使用with open操作当文件读取结束后会自动关闭文件,避免遗忘close操作
# 使用with open 方法
with open("name","r",encoding="UTF-8") as f:
line=f.readlines()
print(line)
返回一个列表
更多推荐
所有评论(0)