其他分享
首页 > 其他分享> > 045 文件的使用

045 文件的使用

作者:互联网

 

目录

 

一、概述

二、文件的类型

2.1 文件的理解

文件是数据的抽象和集合

文本文件 vs. 二进制文件

2.2 文本文件

文件是数据的抽象和集合

2.3 二进制文件

文件是数据的抽象和集合

2.4 文本文件 vs. 二进制文件

"中国是个伟大的国家!"

2.5 f.txt文件保存

f.txt文件保存: "中国是个伟大的国家!"

# 文本形式打开文件
tf = open("f.txt", "rt")
print(tf.readline())
tf.close()
# 二进制形式打开文件
bf = open("f.txt", "rb") 
print(bf.readline()) 
bf.close()

三、文件的打开和关闭

3.1 文件的打开关闭

文件处理的步骤: 打开-操作-关闭

45-文件的使用-01.jpg?x-oss-process=style/watermark

# 读文件
a.read(size)
a.readline(size)
a.readlines(hint)
# 写文件
a.write(s)
a.writelines(lines)
a.seek(offset)

3.2 文件的打开

45-文件的使用-02.jpg?x-oss-process=style/watermark

3.3 文件路径

文件路径和名称:"D:/PYE/f.txt" 或 "D:\PYE\f.txt"

源文件同目录可省路径:"./PYE/f.txt" 或 "f.txt"

3.4 打开模式

文件的打开模式描述
'r' 只读模式,默认值,如果文件不存在,返回FileNotFoundError
'w' 覆盖写模式,文件不存在则创建,存在则完全覆盖
'x' 创建写模式,文件不存在则创建,存在则返回FileExistsError
'a' 追加写模式,文件不存在则创建,存在则在文件最后追加内容
'b' 二进制文件模式
't' 文本文件模式,默认值
'+' 与r/w/x/a一同使用,在原功能基础上增加同时读写功能

3.5 文件的关闭

<变量名>.close() # 变量名为文件句柄

3.6 文件使用

# 文本形式打开文件
tf = open("f.txt", "rt")
print(tf.readline()) 
tf.close()
# 二进制形式打开文件
bf = open("f.txt", "rb")
print(bf.readline()) 
bf.close()

四、文件内容的读取

操作方法描述
<f>.read(size=-1) 读入全部内容,如果给出参数,读入前size长度,s = f.read(2) # 中国
<f>.readline(size=-1) 读入一行内容,如果给出参数,读入该行前size长度,s = f.readline() # 中国是一个伟大的国家!
<f>.readlines(hint=-1) 读入文件所有行,以每行为元素形成列表如果给出参数,读入前hint行,s = f.readlines() # ['中国是一个伟大的国家!']

4.1 文件的全文本操作

4.1.1 遍历全文本:方法一

一次读入,统一处理

fname = input("请输入要打开的文件名称:") 
fo = open(fname,"r")
txt = fo.read()
# 对全文txt进行处理
fo.close()

4.1.2 遍历全文本:方法二

按数量读入,逐步处理

fname = input("请输入要打开的文件名称:")
fo = open(fname,"r")
txt = fo.read(2)
while txt != "":
    # 对txt进行处理
    txt = fo.read(2)
    
fo.close()

4.2 文件的逐行操作

4.2.1 逐行遍历文件:方法一

一次读入,分行处理

fname = input("请输入要打开的文件名称:")
fo = open(fname,"r")
for line in fo.readlines():
    print(line) 
fo.close()

4.2.2 逐行遍历文件:方法二

分行读入,逐行处理

fname = input("请输入要打开的文件名称:")
fo = open(fname,"r")
for line in fo:
    print(line)
fo.close()

五、数据的文件写入

操作方法描述
<f>.write(s) 向文件写入一个字符串或字节流,f.write("中国是一个伟大的国家!")
<f>.writelines(lines) 将一个元素全为字符串的列表写入文件,ls = ["中国", "法国", "美国"];f.writelines(ls) # 中国法国美国
<f>.seek(offset) 改变当前文件操作指针的位置,offset含义如下: 0 – 文件开头; 1 – 当前位置; 2 – 文件结尾,f.seek(0) # 回到文件开头

写入一个字符串列表

fo = open("output.txt","w+") 
ls = ["中国", "法国", "美国"]
fo.writelines(ls) 
for line in fo:
    print(line)  # (没有任何输出)
fo.close()

写入一个字符串列表

fo = open("output.txt","w+")
ls = ["中国", "法国", "美国"] 
fo.writelines(ls)
fo.seek(0)
for line in fo:
    print(line)  # 中国法国美国
fo.close()

六、单元小结

标签:文件,二进制,使用,close,045,txt,open,fo
来源: https://www.cnblogs.com/abdm-989/p/14129932.html