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

1、file.close()

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

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

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "wb")print "文件名为:", fo.name#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

2、file.flush()

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

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

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "wb")print "文件名为:", fo.name#刷新缓冲区

fo.flush()#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

3、file.fileno()

fileno() 方法返回一个整型的文件描述符(file descriptor FD 整型),可用于底层操作系统的 I/O 操作。

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "wb")print "文件名为:", fo.name

fid=fo.fileno()print "文件描述符为:", fid#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

文件描述符为:3

4、file.isatty()

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

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "wb")print "文件名为:", fo.name

ret=fo.isatty()print "返回值 :", ret#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

返回值 : False

5、file.next()

next() 方法在文件使用迭代器时会使用到,在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发 StopIteration

文件 runoob.txt 的内容如下:

这是第一行

这是第二行

这是第三行

这是第四行

这是第五行

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "rw+")print "文件名为:", fo.namefor index in range(5):

line=fo.next()print "第 %d 行 - %s" %(index, line)#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

第 0 行-这是第一行

第1 行 -这是第二行

第2 行 -这是第三行

第3 行 -这是第四行

第4 行 - 这是第五行

6、file.read([size])

read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。size -- 从文件中读取的字节数。

文件 runoob.txt 的内容如下:

1:www.runoob.com2:www.runoob.com3:www.runoob.com4:www.runoob.com5:www.runoob.com

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "rw+")print "文件名为:", fo.name

line= fo.read(10)print "读取的字符串: %s" %(line)#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

读取的字符串:1:www.runo

7、file.readline([size])

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

文件 runoob.txt 的内容如下:

1:www.runoob.com2:www.runoob.com3:www.runoob.com4:www.runoob.com5:www.runoob.com

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "rw+")print "文件名为:", fo.name

line=fo.readline()print "读取第一行 %s" %(line)

line= fo.readline(5)print "读取的字符串为: %s" %(line)#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

读取第一行1:www.runoob.com

读取的字符串为:2:www

8、file.readlines([sizehint])

readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。如果碰到结束符 EOF 则返回空字符串。

文件 runoob.txt 的内容如下:

1:www.runoob.com2:www.runoob.com3:www.runoob.com4:www.runoob.com5:www.runoob.com

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "r")print "文件名为:", fo.namefor line in fo.readlines(): #依次读取每行

line = line.strip() #去掉每行头尾空白

print "读取的数据为: %s" %(line)#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

读取的数据为:1:www.runoob.com

读取的数据为:2:www.runoob.com

读取的数据为:3:www.runoob.com

读取的数据为:4:www.runoob.com

读取的数据为:5:www.runoob.com

9、file.seek(offset[, whence])

seek() 方法用于移动文件读取指针到指定位置。

fileObject.seek(offset[,whence])参数说明:

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

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

文件 runoob.txt 的内容如下:

1:www.runoob.com2:www.runoob.com3:www.runoob.com4:www.runoob.com5:www.runoob.com

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "rw+")print "文件名为:", fo.name

line=fo.readline()print "读取的数据为: %s" %(line)#重新设置文件读取指针到开头

fo.seek(0, 0)

line=fo.readline()print "读取的数据为: %s" %(line)#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

读取的数据为:1:www.runoob.com

读取的数据为:1:www.runoob.com

10、file.tell()

tell() 方法返回文件的当前位置,即文件指针当前位置。

文件 runoob.txt 的内容如下:

1:www.runoob.com2:www.runoob.com3:www.runoob.com4:www.runoob.com5:www.runoob.com

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "rw+")print "文件名为:", fo.name

line=fo.readline()print "读取的数据为: %s" %(line)#获取当前文件位置

pos =fo.tell()print "当前位置: %d" %(pos)#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

读取的数据为:1:www.runoob.com

当前位置:17

11、file.truncate([size])

fileObject.truncate([size ])方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。

文件 runoob.txt 的内容如下:

1:www.runoob.com2:www.runoob.com3:www.runoob.com4:www.runoob.com5:www.runoob.com

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("runoob.txt", "r+")print "文件名为:", fo.name

line=fo.readline()print "读取第一行: %s" %(line)#截断剩下的字符串

fo.truncate()#尝试再次读取数据

line =fo.readline()print "读取数据: %s" %(line)#关闭文件

fo.close()

执行结果:

文件名为: runoob.txt

读取第一行:1:www.runoob.com

读取数据:

12、file.write(str)

write() 方法用于向文件中写入指定字符串。在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。str -- 要写入文件的字符串。

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("test.txt", "w")print "文件名为:", fo.name

str= "菜鸟教程"fo.write( str )#关闭文件

fo.close()

执行结果:执行关闭文件之后在去查看这个文件就可以发现内容为菜鸟教程。

13、file.writelines(sequence)

writelines() 方法用于向文件中写入一序列的字符串。这一序列字符串可以是由迭代对象产生的,如一个字符串列表。换行需要制定换行符 \n。

fileObject.writelines([str ]),str -- 要写入文件的字符串序列。

举例:

#!/usr/bin/python#-*- coding: UTF-8 -*-

#打开文件

fo = open("test.txt", "w")print "文件名为:", fo.name

seq= ["菜鸟教程 1\n", "菜鸟教程 2"]

fo.writelines( seq )#关闭文件

fo.close()

执行结果:

文件名为: test.txt

执行之后查看这个文件的内容:

菜鸟教程 1菜鸟教程2

python创建文件对象的函数_Python学习笔记之—— File(文件) 对象常用函数相关推荐

  1. python我想对你说_python学习第6天----文件操作

    1.文件操作 python中通过open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可进行各种操作(句柄就相当于一个变量),文件句柄是一个可迭代对象 打开文件的操作有:r,w,a,r+,w ...

  2. python中简述对象和类的关系_Python学习笔记(七)对象和类

    什么是对象 Python中所有的数据都是以对象的形式存在,无论是简单的数字类型还是复杂的代码模块.在Python中,当我们想要创建属于自己的对象或者修改已有对象的行为时,才需要关注对象的内部实现细节. ...

  3. python文件下载速度 装饰器_python学习笔记之---装饰器

    # -*- coding:utf-8 -*- '''示例1: 最简单的函数,表示调用了两次''' def myfunc(): print ("myfunc() called.") ...

  4. python复制文件夹不阻塞_python学习笔记-(十四)I/O多路复用 阻塞、非阻塞、同步、异步...

    1. 概念说明 1.1 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可 ...

  5. python中deepcopy函数_Python学习笔记函数之copy()和deepcopy()

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  6. python用缩进来写模块_python学习笔记

    一.基础简介 1.#!/usr/bin/python #!/usr/bin/python 相当于写死了 python 路径 #!/usr/bin/env python 会去环境设置寻找 python ...

  7. python列表和元组的应用_python学习笔记之列表(list)与元组(tuple)详解

    前言 最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧--我要重新把python的教程阅读一遍,把以前自己忽略的部分学习,加强练习和记 ...

  8. python爬取基金历史净值_Python学习笔记之抓取某只基金历史净值数据实战案例

    摘要:这篇Python开发技术栏目下的"Python学习笔记之抓取某只基金历史净值数据实战案例",介绍的技术点是"Python学习笔记.Python.历史净值数据.学习笔 ...

  9. python编程入门贴吧_《Python编程从入门到实践》学习笔记10:文件和异常

    #############################################################################################一些你必须要知 ...

最新文章

  1. HBase 在京东人资数据预处理平台中的实践!
  2. 译 | .NET Core 基础架构进化之路(二)
  3. 计算机专业专业课代号408,计算机专业考研你一定要知道的事情!
  4. matlab文件序号超出511,求教一段matlab的代码 - 数学 - 小木虫 - 学术 科研 互动社区...
  5. idea springboot热部署无效问题
  6. salt grains详解
  7. LaTex的book类型中,目录及chapter前自动插入空白页面
  8. java代码获取数据源_tomcat中获取不同的数据源java代码
  9. db2设置默认schema_dataSource配置jdbc连接db2源url项指定currentSchema
  10. solaris java 安装_solaris中安装jdk环境
  11. HCIP-loT——关键特性
  12. 【Cocos 3d】粒子特效的制作与使用
  13. 动词的时态(Les temps du verbe )
  14. 【逻辑】四人过桥问题
  15. 虚幻引擎图文笔记:调整网格的光照贴图分辨率(Light Map Res)改善光照烘焙质量
  16. Ubuntu16.04 下python的matplotlib库加入中文字体(微软雅黑)
  17. (Nacos源码解析五)Nacos服务事件变动源码解析
  18. 我的创业日记3(我的office)——我的第二个家
  19. ads1258_ads1158/ads1258调试总结
  20. 查看suse linux版本

热门文章

  1. 提高数据质量的方法有哪些
  2. 大数据分析的价值有哪些
  3. 数据协作如何解决大数据的大问题
  4. 物联网卡定位技术涉及范围及工作原理
  5. Vue快速上手笔记2 - 开发环境的搭建
  6. 邮票面值设计java_邮票面值设计
  7. jquery设置表单元素只读_jQuery为文本框添加只读属性readOnly
  8. 服务器本地打开asp文件路径,服务器本地打开asp文件
  9. [2016百度之星 - 初赛(Astar Round2A)]Snacks
  10. [spring]用IEDA创建spring boot项目