file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:

序号 方法及描述 实例
 1

file.close()

关闭文件。关闭后文件不能再进行读写操作。

方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。

当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 close() 方法关闭文件是一个好的习惯。

返回值:

参数:

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "wb")
print("文件名为: ", fo.name)# 关闭文件
fo.close()

 2

file.flush()

刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

===========================

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

返回值:

参数:

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "wb")
print ("文件名为: ", fo.name)# 刷新缓冲区
fo.flush()# 关闭文件
fo.close()

 3

file.fileno()

返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

返回值:返回文件描述符。

参数:无

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "wb")
print ("文件名为: ", fo.name)fid = fo.fileno()
print ("文件描述符为: ", fid)# 关闭文件
fo.close()

 4

file.isatty()

如果文件连接到一个终端设备返回 True,否则返回 False。

返回值:如果连接到一个终端设备返回 True,否则返回 False。

参数:

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "wb")
print ("文件名为: ", fo.name)ret = fo.isatty()
print ("返回值 : ", ret)# 关闭文件
fo.close()

 5

file.next()

返回文件下一行。

Python 3 中的 File 对象不支持 next() 方法。 Python 3 的内置函数 next() 通过迭代器调用 __next__() 方法返回下一项。 在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发 StopIteration

返回值:返回文件下一行。

参数:

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "r")
print ("文件名为: ", fo.name)for index in range(5):line = next(fo)print ("第 %d 行 - %s" % (index, line))# 关闭文件
fo.close()

 6

file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

返回值:返回从字符串中读取的字节。

参数:size -- 从文件中读取的字节数。

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "r+")
print ("文件名为: ", fo.name)line = fo.read(10)
print ("读取的字符串: %s" % (line))# 关闭文件
fo.close()

 7

file.readline([size])

读取整行,包括 "\n" 字符。

方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。

返回值:返回从字符串中读取的字节。

参数:size -- 从文件中读取的字节数。

#!/usr/bin/python
# -*- coding: UTF-8 -*-# 打开文件
fo = open("python.txt", "r+")
print ("文件名为: ", fo.name)line = fo.readline()
print ("读取第一行 %s" % (line))line = fo.readline(5)
print ("读取的字符串为: %s" % (line))# 关闭文件
fo.close()

 8

file.readlines([sizeint])

读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。

该列表可以由 Python 的 for... in ... 结构进行处理。 如果碰到结束符 EOF 则返回空字符串。

如果碰到结束符 EOF 则返回空字符串。

返回值:列表,包含所有的行。

参数:sizeint -- 从文件中读取的字节数。

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "r")
print ("文件名为: ", fo.name)for line in fo.readlines():                          #依次读取每行  line = line.strip()                             #去掉每行头尾空白  print ("读取的数据为: %s" % (line))# 关闭文件
fo.close()

 9

file.seek(offset[, whence])

设置文件当前位置,用于移动文件读取指针到指定位置。

返回值:

参数:

offset -- 开始的偏移量,也就是代表需要移动偏移的字节数

whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "r+")
print ("文件名为: ", fo.name)line = fo.readline()
print ("读取的数据为: %s" % (line))# 重新设置文件读取指针到开头
fo.seek(0, 0)
line = fo.readline()
print ("读取的数据为: %s" % (line))# 关闭文件
fo.close()

 10

file.tell()

返回文件当前位置。即文件指针当前位置。

返回值:文件的当前位置。

参数:

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "r+")
print ("文件名为: ", fo.name)line = fo.readline()
print ("读取的数据为: %s" % (line))# 获取当前文件位置
pos = fo.tell()
print ("当前位置: %d" % (pos))# 关闭文件
fo.close()

 11

file.truncate([size])

从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后 V 后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。

返回值:

参数:size -- 可选,如果存在则文件截断为 size 字节。

#!/usr/bin/python3

fo = open("python.txt", "r+")
print ("文件名: ", fo.name)line = fo.readline()
print ("读取行: %s" % (line))fo.truncate()
line = fo.readlines()
print ("读取行: %s" % (line))# 关闭文件
fo.close()

12

file.write(str)

将字符串写入文件,没有返回值。

在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。

返回值:

参数:str -- 要写入文件的字符串。

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "r+")
print ("文件名: ", fo.name)str = "text end"
# 在文件末尾写入一行
fo.seek(0, 2)
line = fo.write( str )# 读取文件所有内容
fo.seek(0,0)
for index in range(6):line = next(fo)print ("文件行号 %d - %s" % (index, line))# 关闭文件
fo.close()

13

file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

返回值:

参数:str -- 要写入文件的字符串序列。

#!/usr/bin/python3# 打开文件
fo = open("python.txt", "w")
print ("文件名为: ", fo.name)
seq = ["text 1\n", "text 2"]
fo.writelines( seq )# 关闭文件
fo.close()

转载于:https://www.cnblogs.com/mrbug/p/8922794.html

python3 第三十四章 - 聊聊File对象相关推荐

  1. 第三十四章 批量印刷书籍

    第三十四章 批量印刷书籍 "不,这次是要必须跪下去的,因为这是对您的敬重,你竟然能够制作出来如此锋利的宝剑,那么我这个长安城的第一铁匠就当的有些太无能了." "哪里无能, ...

  2. 第三十四章 数论——高斯消元解线性方程组

    第三十四章 数论--高斯消元解线性方程组 一.高斯消元 1.线性方程组 2.高斯消元步骤 (1)数学知识铺垫 增广矩阵和阶梯矩阵 初等变换 (2)高斯消元步骤 二.代码模板 1.问题: 2.代码 一. ...

  3. 【正点原子FPGA连载】第三十四章RGB-LCD触摸屏实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  4. 现实迷途 第三十四章 响亮一巴(下)

    第三十四章 响亮一巴(下) 注:原创作品,请尊重原作者,未经同意,请勿转载,否则追究责任. 耳边响起的中文或英文的浪漫情歌,闪烁的霓虹灯灯光和点点的蜡烛烛光,精致的生日蛋糕,江北深情清唱的生日歌,以及 ...

  5. 现实迷途 第三十四章 响亮一巴(上)

    第三十四章 响亮一巴(上) 注:原创作品,请尊重原作者,未经同意,请勿转载,否则追究责任. 钟琳的出现,不免让江北的心思发生了一点点的变化,给他和钱珊之间的关系带来了一点额外的想象空间,但也只是限于一 ...

  6. 第三十四章 SQL函数 CURDATE

    文章目录 第三十四章 SQL函数 CURDATE 大纲 描述 示例 第三十四章 SQL函数 CURDATE 返回当前本地日期的标量日期/时间函数. 大纲 {fn CURDATE()} {fn CURD ...

  7. 【正点原子FPGA连载】 第三十四章双目OV5640摄像头RGB-LCD显示实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  8. 第三十四章 苏西受伤

    为什么爆鳞的刺可以任意方向射出? 为什么龙牙虫会在赤手内安家? 为什么刺槐蝠像个身披斗篷的小个子? 为什么雨跳蛇能折叠成弹簧模样? 最后一个问题我来回答,因为它来自折叠之城. 肚子好饿,龙牙虫平时吃什 ...

  9. 传国宝玺 第三部 巴山藏宝洞 第三十四章 千魂魈

    "快咬舌!"老刘头喊道,"这他娘的根本就不是撞客!" 张国忠哪用他提醒,早把舌头咬破了,一口热血含在嘴里. 在茅山术中,舌血是人身上阳气最强的血,遇到棘手的恶鬼 ...

最新文章

  1. linux df -h卡成狗
  2. 【java笔记】Properties类
  3. C#之xml配置文件读写
  4. LEACH路由协议MATLAB仿真代码
  5. mysql数据库备份方法有几种_MySQL数据库备份的几种方式
  6. 升级Spring Boot 2.x后RelaxedPropertyResolver不可用的解决方案
  7. matlab 仿真短路故障设置,基于MatlabSimulink的电力系统故障仿真与
  8. rap技术原理_学rap最基本的都要学什么
  9. unity 动态图集
  10. 如何手动对apk进行签名?
  11. 易优cms中英文版如何分开调用不同模板
  12. 1.7 信息化发展与应用
  13. html是什么意思 htm与html的有什么不同
  14. 人工智能帮你3分钟完成股票抄底
  15. c语言字符串的分隔符是什么6,字符串分隔符
  16. python能否实现邮件合并_Python 基于Python实现邮件发送
  17. java8 stream流 将一个list转换成list
  18. 极米h6和坚果n1pro区别,4k版极米h6和坚果n1选哪个好
  19. 为什么禁用zeroconf_什么是Zeroconf?
  20. UITableViewCell 图片自适应

热门文章

  1. DSOframer注册使用说明
  2. android 布局权重问题(最近布局经常坑爹)
  3. hdu1051 Wooden Sticks
  4. ios中MKHorizMenu用法
  5. IT-标准化-系列-14.用-博客三剑客-写博客
  6. 微软与联合国环境规划署联手解决环境问题
  7. Involution代码
  8. Matlab优化函数中options选项的修改
  9. 虚拟光驱安装服务器无法运行,windows7虚拟光驱无法正常打开怎么办
  10. HTTP协议 ----响应消息