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

简介:

本节书摘来自异步社区《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(),但它们的工作方式完全相同。

相关文章
|
16天前
|
Python
【python】python跨文件使用全局变量
【python】python跨文件使用全局变量
|
25天前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
21 1
|
30天前
|
存储 并行计算 Java
Python读取.nc文件的方法与技术详解
本文介绍了Python中读取.nc(NetCDF)文件的两种方法:使用netCDF4和xarray库。netCDF4库通过`Dataset`函数打开文件,`variables`属性获取变量,再通过字典键读取数据。xarray库利用`open_dataset`打开文件,直接通过变量名访问数据。文中还涉及性能优化,如分块读取、使用Dask进行并行计算以及仅加载所需变量。注意文件路径、变量命名和数据类型,读取后记得关闭文件(netCDF4需显式关闭)。随着科学数据的增长,掌握高效处理.nc文件的技能至关重要。
107 0
|
1月前
|
Python
python中文件和异常处理方法(二)
python中文件和异常处理方法(二)
13 0
|
1月前
|
Python
python中文件和异常处理方法(一)
python中文件和异常处理方法(一)
29 0
|
1月前
|
Python
python中文件和异常处理方法(三)
python中文件和异常处理方法(三)
19 0
|
16天前
|
C++ Python
【C++/Python】C++调用python文件
【C++/Python】C++调用python文件
|
17天前
|
JSON 数据处理 数据格式
Python中的文件读写操作详解
【4月更文挑战第2天】在Python中,文件读写操作是数据处理和程序开发的重要部分。通过文件,我们可以将信息持久化地保存在磁盘上,并在需要时读取和使用这些数据。Python提供了丰富的内置函数和模块,使得文件读写变得简单而高效。本文将详细介绍Python中文件读写的基本操作和常用方法。
|
28天前
|
开发者 Python
Python语言的文件及目录访问
Python语言的文件及目录访问
|
1月前
|
存储 数据管理 Serverless
Python实现:教你轻松统计文件夹下文件个数
Python实现:教你轻松统计文件夹下文件个数
23 0

热门文章

最新文章