python怎么读取输入-用 Python 的输入输出功能读取和写入数据

本文详细介绍了Python中如何使用print语句和file对象进行数据的读写操作。通过示例展示了如何读取和写入文本文件,包括简单的输出、文件对象的使用、文件模式的选择,以及处理二进制数据的方法。文章强调了在写入数据时需要注意文件的缓冲和关闭,以及如何在读写模式间切换以实现文件内容的追加。
摘要由CSDN通过智能技术生成

读取、写入和 Python

在 "探索 Python 系列” 以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如 tuple 、 string 和 list 。其他文章讨论了 Python 语言的条件和循环特性,以及它们如何与容器数据类型进行协作来简化编程任务。编写程序的最后一个基本步骤就是从文件读取数据和把数据写入文件。阅读完这篇文章之后,可以在自己的 to-do 列表中加上检验这个技能学习效果的任务。

简单输出

贯穿整个系列,一直用 print 语句写入(输出)数据,它默认把表达式作为 string 写到屏幕上(或控制台窗口上)。清单 1 演示了这一点。清单 1 重复了第一个 Python 程序 "Hello, World!”,但是做了一些小的调整。

清单 1. 简单输出

>>> print "Hello World!"

Hello World!

>>> print "The total value is = $", 40.0*45.50

The total value is = $ 1820.0

>>> print "The total value = $%6.2f" % (40.0*45.50)

The total value = $1820.00

>>> myfile = file("testit.txt", 'w')

>>> print >> myfile, "Hello World!"

>>> print >> myfile, "The total value = $%6.2f" % (40.0*45.50)

>>> myfile.close()Show moreShow more icon

正如这个示例演示的,用 print 语句写入数据很容易。首先,示例输出一个简单的 string 。然后创建并输出复合的 string ,这个字符串是用 string 格式化技术创建的。

但是,在这之后,事情发生了变化,与代码以前的版本不同。接下来的一行创建 file 对象,传递进名称 "testit.txt" 和 'w' 字符(写入文件)。然后使用修改过的 print 语句 —— 两个大于号后边跟着容纳 file 对象的变量 —— 写入相同的 string 。但是这一次,数据不是在屏幕上显示。很自然的问题是:数据去哪儿了?而且,这个 file 对象是什么?

第一个问题很容易回答。请查找 testit.txt 文件,并像下面那样显示它的内容。

% more testit.txt

Hello World!

The total value = $1820.00Show moreShow more icon

可以看到,数据被准确地写入文件,就像以前写到屏幕上一样。

现在,请注意清单 1 中的最后一行,它调用 file 对象的 close 方法。在 Python 程序中这很重要,因为在默认情况下,文件输入和输出是 缓冲的 ;在调用 print 语句时,数据实际未被写入;相反,数据是成批写入的。让 Python 把数据写入文件的最简单方式就是显式地调用 close 方法。

文件对象

file 是与计算机上的文件进行交互的基本机制。可以用 file 对象读取数据、写入数据或把数据添加到文件,以及处理二进制或文本数据。

学习 file 对象的最简单方法就是阅读帮助,如清单 2 所示。

清单 2. 得到 file 对象的帮助

>>> help(file)

Help on class file in module __builtin__:

class file(object)

| file(name[, mode[, buffering]]) -> file object

|

| Open a file. The mode can be 'r', 'w' o

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值