到目前为止,您一直在读取和写入标准输入和输出。现在,我们将看到如何使用实际数据文件。

Python提供了默认情况下处理文件所必需的基本功能和方法。您可以使用文件对象执行大多数文件操作。

open函数

在读取或写入文件之前,必须使用Python的内置open()函数将其打开。此函数创建一个文件对象,该文件对象可用于调用与其关联的其他支持方法。

语法file object = open(file_name [, access_mode][, buffering])

这是参数详细信息-file_name -file_name参数是一个字符串值,其中包含您要访问的文件的名称。

access_mode -access_mode确定必须打开文件的模式,即读取,写入,附加等。下表中给出了可能值的完整列表。这是可选参数,默认文件访问模式为(r)。

缓冲-如果将缓冲值设置为0,则不进行缓冲。如果缓冲值为1,则在访问文件时执行行缓冲。如果将缓冲值指定为大于1的整数,则将按照指示的缓冲区大小执行缓冲操作。如果为负,则缓冲区大小为系统默认值(默认行为)。

这是打开文件的不同模式的列表-序号模式与说明1r

打开一个文件以供只读。文件指针位于文件的开头。这是默认模式。

2rb

打开一个文件,仅以二进制格式读取。文件指针位于文件的开头。这是默认模式。

3r +

打开一个文件以供读取和写入。文件指针放置在文件的开头。

4rb +

打开一个文件,用于以二进制格式读取和写入。文件指针放置在文件的开头。

5w

打开一个仅用于写入的文件。如果文件存在,则覆盖该文件。如果该文件不存在,请创建一个新文件进行写入。

6wb

打开一个文件,仅以二进制格式写入。如果文件存在,则覆盖该文件。如果该文件不存在,则创建一个新文件进行写入。

7w +

打开用于写入和读取的文件。如果文件存在,则覆盖现有文件。如果该文件不存在,请创建一个新文件以进行读写。

8wb +

打开一个文件,以二进制格式进行读写。如果文件存在,则覆盖现有文件。如果该文件不存在,请创建一个新文件以进行读写。

9a

打开一个文件进行追加。如果文件存在,则文件指针位于文件的末尾。也就是说,文件处于附加模式。如果该文件不存在,它将创建一个新文件进行写入。

10ab

打开一个文件以二进制格式追加。如果文件存在,则文件指针位于文件的末尾。也就是说,文件处于附加模式。如果该文件不存在,它将创建一个新文件进行写入。

11a +

打开一个文件以进行附加和读取。如果文件存在,则文件指针位于文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建一个用于读取和写入的新文件。

12ab +

打开一个文件,以附加和读取二进制格式。如果文件存在,则文件指针位于文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建一个用于读取和写入的新文件。

文件对象属性

打开文件后,您只有一个文件对象,您可以获得与该文件有关的各种信息。

这是与文件对象相关的所有属性的列表-序号模式与说明1file.closed

如果关闭文件,则返回true,否则返回false。

2file.mode

返回打开文件所使用的访问模式。

3file.name

返回文件名。

4file.softspace

如果print明确需要空间,则返回false,否则返回true。

示例#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name

print "Closed or not : ", fo.closed

print "Opening mode : ", fo.mode

print "Softspace flag : ", fo.softspace

输出结果

这产生以下结果-Name of the file: foo.txt

Closed or not : False

Opening mode : wb

Softspace flag : 0

close()方法

close()文件对象的方法将刷新所有未写信息并关闭文件对象,此后将无法再进行写操作。

当文件的引用对象重新分配给另一个文件时,Python自动关闭文件。使用该close()方法关闭文件是一个好习惯。

语法fileObject.close()

示例#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name

# Close opend file

fo.close()

输出结果

这产生以下结果-Name of the file: foo.txt

python关闭对象语法_用Python打开和关闭文件相关推荐

  1. python十大语法_精华-Python十大语法有哪些?

    Python是某种象征简易观念的语言,其语法相比简易,特别容易入门.然而,假如此后小视Python语法的精妙和深邃,那便大错特错了.文中细致挑选了最能体现Python语法之精妙的十个知识要点,并另附完 ...

  2. python和对象复习_【Python复习巩固 Day4】面向对象编程

    面向对象编程,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象 类和实例 clas ...

  3. 以下选项中python用于异常处理结构_《Python 程序设计》复习题

    目录 填空题 一.基础知识 二.序列 三.选择结构与循环结构和函数及面向对象.文件 选择题 一.Python 基础语法 二.基本数据类型 三.程序的控制结构 四.函数和代码复用 五.组合数据类型 六. ...

  4. python源码学习_【Python学习】Python源码阅读(一)

    最近想读读Python源码,任何东西学习方法基本都是一样的,先从总体框架进行了解,再从自己侧重的方面逐步深入. 1. Python总体架构 左边是Python提供的大量的模块.库以及用户自定义的模块. ...

  5. python大牛 关东升_《Python从小白到大牛》第4章 Python语法基础

    本章主要为大家介绍Python的一些语法,其中包括标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 标识符和关键字 任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍Pyth ...

  6. python中类似对象吗_在Python中,两个对象什么时候相同? - python

    似乎2 is 2和3 is 3在python中始终为true,通常,对整数的任何引用都与对相同整数的任何其他引用相同. None(即None is None)也是如此.我知道用户定义类型或可变类型不会 ...

  7. python 强制结束线程_在python中实现强制关闭线程的示例

    Python 如何强制关闭线程过去只可以用来回忆,别沉迷在阴影中,否则永远看不清前面的路. Python用sleep停止一个线程的运行,而不影响主线程的运行,案例代码如下: from threadin ...

  8. python代码颜色搭配_修改Python IDLE代码配色及语法高亮主题

    文章1 原出处:http://wangye.org/blog/archives/634/ 文章2 原出处:http://huacnlee.com/blog/share-someting-python- ...

  9. python和对象复习_面向对象阶段复习

    面向对象阶段复习 一.类,对象,属性方法调用 class 类名(父类1,父类2): 静态属性 = '' # 静态属性,也叫类属性 def __init__(self): # 初始化方法 self.na ...

最新文章

  1. ffmpeg推送图片到流媒体服务器
  2. asp.net 开发疑问?
  3. (72)FPGA模块调用(VHDL调用Verilog)
  4. c语言提示错误信息,【资料】C语言错误信息中文解释
  5. mvc:annotation-driven /注解意义(转)
  6. MD5加密——使用Java自带的MessageDigest工具类实现
  7. 牛客网暑假训练第九场——F-Typing practice(多串并行 优化KMP详解)
  8. 三月校赛1006 wuli通通和Fibonacci (a[n]=f[n]*(n^m)的前k项和)
  9. 不断尝试,做更好的自己|Fabia,很高兴再认识你
  10. 什么都学一点系列之鸿蒙开发Java版简易备忘录
  11. .NET Reflector 7.6.1.824安装及破解(刚试了,绝对能用)
  12. 确定权重方法之一:主成分分析
  13. 傻白入门芯片设计,wafer/die/chip/cell(一)
  14. kubernetes 降本增效标准指南| 容器化计算资源利用率现象剖析
  15. js根据年份计算年龄
  16. Zabbix使用LLD自动发现规则发现监控docker容器(下)
  17. 兽音译者iOS APP,支持iPhone、iPad、Mac~
  18. 魅族手机里的便签怎么导出转移到新的手机上?
  19. 旅游景区|“沉浸式夜游”如何玩?深圳光语数字
  20. cisco 3560开启802.1x

热门文章

  1. 软件开发团队中,凭什么新手当道?| 畅言
  2. 5G 已来,是否意味着 4G 淘汰?
  3. 新型 Linux 病毒,脚本超 1000 行,功能复杂
  4. 20 岁 Google vs 18 岁百度,分道扬镳?| 畅言
  5. 流浪汉转型程序员,年薪超 70 万人民币!
  6. 离破产仅一步之遥的A站,还能挺过去吗?
  7. springcloud入门实战进阶百度云,【MyBatis 5(1)
  8. Presto在滴滴的探索与实践
  9. 2014年3月计算机四级网络工程师考试试题及答案,某年3月计算机等级考试四级网络工程师笔试试题...
  10. 服务器安装系统难吗,服务器安装系统难吗