day3 文件操作
文件操作是在内存中进行操作的,因为文件是存储在内存中的.
open函数,该函数用于文件处理:
操作文件时,一般需要经历如下步骤:
(1)打开文件;
(2)操作文件
一、打开文件
文件句柄 = open("文件路径","模式")
打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。
打开文件的模式有:
(1)r,只读模式(默认);
(2)w,只写模式。【不可读;不存在则创建;存在则删除内容;】
(3)a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
(1)r+,可读写文件。【可读;可写;可追加】;
(2)w+,写读;
(3)a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
(1)ru
(2)r+u
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
(1)rb (2)wb (3)ab
二、操作
1.def close(self, *args, **kwargs):
# real signature unknown 关闭文件
pass
2.def fileno(self, *args, **kwargs):
# real signature unknown 文件描述符
pass
3.def flush(self, *args, **kwargs):
# real signature unknown 刷新文件内部缓冲区
pass
4.def isatty(self, *args, **kwargs):
# real signature unknown 判断文件是否是同意tty设备
pass
5.def read(self, *args, **kwargs):
# real signature unknown 读取指定字符的数据
pass
打开一个文件,read()是按照字符来进行读取的。读取文件的信息,每次读取多少字符。
f = open("file","r",encoding="utf-8")
#f.write("耿ad56465645")
print(f.read(2))
f.close()
运行结果如下:
耿a
6.def readable(self, *args, **kwargs):
# real signature unknown 是否可读
pass
7.def readline(self, *args, **kwargs):
# real signature unknown 仅读取一行数据
pass
f = open("file","r",encoding="utf-8")
ret = f.readline()
print(ret)
f.close()
readline()是读取文件的第一行,仅读取文件的第一行,并且形成一个字符串。
"""
耿ad56465645
长123666
张dadaebdadojou
"""
运行结果如下:
耿ad56465645
8.def seek(self, *args, **kwargs):
# real signature unknown 指定文件中指针位置
pass
与tell()经常一起使用,放置文件指针,告诉文件从哪里进行读取。
f = open("file","r",encoding="utf-8")
f.seek(3)
print(f.read(3))
#print(f.tell())
f.close()
seek()是按指针放置文件读取的位置,按照字节进行放置。tell()看文件读取到那里。
9.def seekable(self, *args, **kwargs):
# real signature unknown 指针是否可操作
pass
10.def tell(self, *args, **kwargs):
# real signature unknown
获取指针位置
pass
11.def truncate(self, *args, **kwargs):
# real signature unknown 截断数据,仅保留指定之前数据
pass
我们知道,打开文件之后,我们使用seek()放置指针位置,read()读取指针后面的内容,而truncate()是截取指针之前的文件内容。
12.def writable(self, *args, **kwargs):
# real signature unknown 是否可写
pass
13.def write(self, *args, **kwargs):
# real signature unknown
写内容
pass
14.def readlines(self, size=None): # real signature unknown; restored from __doc__
读取所有数据,并根据换行保存值列表 """