一、文件操作

      打开文件时,需要指定文件路径和以何等方式打开文件,

  对文件操作流程

  打开文件,得到文件句柄并赋值给一个变量
  通过句柄对文件进行操作
  关闭文件

打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读;   不存在则创建;存在则只追加内容】

"+" 表示可以同时读写某个文件

  • r+, 读写
  • w+,写读
  • x+ ,写读
  • a+, 写读

 "b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

 

Table 文件对象方法

方法 描述
f.close() 关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。
f.fileno() 获得文件描述符,是一个数字
f.flush() 刷新输出缓存
f.read([count]) 读出文件,如果有count,则读出count个字节。
f.readline() 读出一行信息。
f.readlines() 读取所有行的内容,存成列表的形式
f.seek(offset[,where]) 把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。
f.tell() 获得文件指针位置。
f.truncate([size]) 截取文件,使文件的大小。
f.write(string) 把string字符串写入文件。
f.writelines(list) 把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。

 


 read(3)代表读取3个字符,其余的文件内光标移动是以字节为单位,如:seek,tell,read,truncate

f.closed       #文件如果关闭则返回True

f.encoding   #查看使用open打开文件的编码

f.tell()         #查看文件处理当前的光标位置

f.seek(3)     #从开头开始算,将光标移动到第三个字节

f.truncate(10) #从开头开始算,将文件只保留从0-10个字节的内容,文件必须以写方式打开,但是w和w+除外。

 


 

示例

我愿能看懂每一粒沙

任策马狂奔从不害怕

心中能纳无尽的 无尽的远方

胸中热血敢为你而洒 用思念跨越无边天涯

我想我会不停地 不停地找啊

天暗了 会否 只剩我 在等待

少年狂能驾时光 迎烈风斩阔浪

让梦做到多少 天就有多高

何不肆意长啸

少年狂岁月不老

凭烟波逞傲笑

纵然无处停靠 泪亦忘不了

却不能阻挡路迢迢

我愿能看懂每一粒沙 任策马狂奔从不害怕

心中能纳无尽的 无尽的远方

胸中热血敢为你而洒 用思念跨越无边天涯

我想我会不停地 不停地找啊

天暗了 会否 只剩我 在等待

少年狂能驾时光 迎烈风斩阔浪

让梦做到多少 天就有多高

何不肆意长啸

少年狂岁月不老

凭烟波逞傲笑

纵然无处停靠 泪亦忘不了

却不能阻挡路迢迢

少年狂能驾时光 迎烈风斩阔浪

让梦做到多少 天就有多高

何不肆意长啸

少年狂岁月不老

凭烟波逞傲笑

纵然无处停靠 泪亦忘不了

却不能阻挡路迢迢

基本操作 

f = open('a.txt',encoding='utf-8') #打开文件
first_line = f.readline() #读一行
print('first line:',first_line) #读一行
print('我是分隔线'.center(50,'-'))
data = f.read()# 读取剩下的所有内容,文件大时不要用
print(data) #打印文件
f.close() #关闭文件
View Code

相关文章:

  • 2021-06-28
  • 2021-07-08
  • 2022-01-21
  • 2022-03-05
  • 2022-03-05
  • 2021-06-29
  • 2021-08-27
猜你喜欢
  • 2022-01-18
  • 2021-07-07
  • 2021-04-26
  • 2022-01-22
  • 2021-12-13
  • 2021-11-29
相关资源
相似解决方案