本节书摘来自异步社区《Python参考手册(第4版•修订版)》一书中的第1章,第1.4节,作者David M. Beazley,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 文件输入和输出

以下程序可打开一个文件并逐行读取该文件的内容:

f = open("foo.txt")          # 返回一个文件对象
line = f.readline()          # 调用文件的readline()方法
while line:print line,              # 后面跟','将忽略换行符# print(line,end='')     # 在Python 3中使用line = f.readline()
f.close()

open()函数返回一个新的文件对象。调用该对象的方法可以执行各种文件操作。readline()方法读取一行内容,包括结尾的换行符在内。读至文件结尾时将返回空字符串。

在这个例子中,程序只是循环读取了文件foo.txt中的所有行。如果程序在像这样的数据集(如输入中的行、数字、字符串等)上进行循环,那么这通常就称为迭代。因为迭代是很常见的一种操作,所以Python为其提供了一条专用语句for,用于迭代内容项。例如,同样的程序可以写成下面这种更简洁的形式:

for line in open("foo.txt"):print line,

要将程序的输出写入一个文件中,需要在print语句后面使用>>指定一个文件,如下所示:

f = open("out","w")     # 打开文件以便写入
while year <= numyears:principal = principal * (1 + rate)print >>f,"%3d %0.2f" % (year,principal)year += 1
f.close()

>>语法只能用在Python 2中。如果使用Python 3,可将print语句改为以下内容:

print("%3d %0.2f" % (year,principal),file=f)

另外,文件对象支持使用write()方法写入原始数据。例如,前一例子中的print语句也可以写成下面这样:

f.write("%3d %0.2f\n" % (year,principal))

尽管这些例子处理的都是文件,但同样的技巧也适用于标准的解释器输出流和输入流。例如,如果想交互式地读取用户输入,可以从文件sys.stdin中读取。如果要将数据输出到屏幕上,可以写入文件sys.stdout中,这与在输出print语句所生成数据时所用的文件是同一个文件。例如:

import sys
sys.stdout.write("Enter your name :")
name = sys.stdin.readline()

在Python 2中,这段代码还可以简化为:

name = raw_input("Enter your name :")

在Python 3中,raw_input()函数叫做input(),但它们的工作方式完全相同。

《Python参考手册(第4版•修订版)》——1.4 文件输入和输出相关推荐

  1. python参考手册 第4版 修订版_Python参考手册 第4版 修订版

    目录 第一部分 Python语言第1章 Python简介21.1 运行Python21.2 变量和算术表达式31.3 条件语句51.4 文件输入和输出61.5 字符串71.6 列表81.7 元组91. ...

  2. python教程第四版pdf下载-Python参考手册 第4版高清中文PDF下载

    本书是权威的Python语言参考指南,内容涉及核心Python语言和Python库的最重要部分.本书内容简洁扼要.可读性强,书中还包括了一些没有在Python官方文档或其他资料中出现过的一些高级的主题 ...

  3. Python参考手册(第4版)pdf

    下载地址:网盘下载 内容简介  · · · · · · 本书是权威的Python语言参考指南,内容涉及核心Python语言和Python库的最重要部分.本书内容简洁扼要.可读性强,书中还包括了一些没有 ...

  4. 《Python参考手册(第4版•修订版)》——1.8 集合

    本节书摘来自异步社区<Python参考手册(第4版•修订版)>一书中的第1章,第1.8节,作者David M. Beazley,更多章节内容可以访问云栖社区"异步社区" ...

  5. python语法手册chm-python3.5.2官方帮助文档 参考手册(CHM版)

    python3.5.2官方帮助文档 参考手册(CHM版) python3.5.2官方帮助文档 参考手册(CHM版),欢迎下载! 新语法特性: PEP 492,具有async和await语法的协同程序. ...

  6. python帮助文档中文版下载-python3.5.2官方帮助文档 参考手册(CHM版)

    python3.5.2官方帮助文档 参考手册(CHM版) python3.5.2官方帮助文档 参考手册(CHM版),欢迎下载! 新语法特性: PEP 492,具有async和await语法的协同程序. ...

  7. python使用手册-Python参考手册(第4版)

    第一部分 Python语言 第1章 Python简介 2 1.1 运行Python 2 1.2 变量和算术表达式 3 1.3 条件语句 5 1.4 文件输入和输出 6 1.5 字符串 7 1.6 列表 ...

  8. python基础教程电子版-Python基础教程(第2版 修订版) pdf

    Python基础教程(第2版 修订版) 目录 D11章快速改造:基础知识1 1.1安装Python1 1.1.1Windows1 1.1.2Linux和UNIX3 1.1.3苹果机(Macintosh ...

  9. Python基础教程(第2版 修订版) pdf

    Python基础教程(第2版 修订版) 目录 D11章快速改造:基础知识1 1.1安装Python1 1.1.1Windows1 1.1.2Linux和UNIX3 1.1.3苹果机(Macintosh ...

最新文章

  1. 运动目标跟踪__kalman
  2. OpenCV常遇问题解决方法汇总
  3. 启动mysqld报 mysql the server quit without updating pid file
  4. DataFrame(8):DataFrame运算——逻辑运算(用于筛选数据) 含有~
  5. ajax时间控件,带有ajax的JQuery中的插件datetimepicker出错
  6. 【摘】把vmware的虚拟机硬盘vmdk文件分割成多个2G文件
  7. (十六)java中的String
  8. 3.9 限制root远程登录
  9. CFS中一些调度参数的实现原理
  10. mybatis if test 之 like concat()函数
  11. 抖音快手微视去水印小程序!全网短视频无水印免费下载工具!
  12. java代码审计工具_Java代码审计汇总系列(六)——RCE
  13. 路由器服务器账号密码,路由器上网账号密码设置的一般步骤介绍
  14. 做教学直播时,如何做PPT课件直播?
  15. 西门子S7-200smart型PLC使用profinet通讯控制G120变频器程序
  16. 木马开发的基本理论基础(四)
  17. STM32F103 硬件SPI+WM8978单声道语音回环
  18. 图片转Excel表格
  19. php转调页面,转调踏莎行上巳道中作
  20. Cesium加载影像图

热门文章

  1. .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤
  2. 10-30 章鱼大数据学习
  3. 网络编程——sockaddr 与 sockaddr_in
  4. Lua和C#调用探秘
  5. ★教师工资为什么这么低?
  6. redis学习——数据类型
  7. hdu 5444 Elven Postman(根据先序遍历和中序遍历求后序遍历)2015 ACM/ICPC Asia Regional Changchun Online...
  8. Android变形(Transform)之Camera使用介绍【转】
  9. A Brief History of NoSQL (转)
  10. 上班族不知不觉发财的十大秘诀