python 读写文件 另存为_python读写文件(五)

今天继续分享python读写文件。

首先介绍一个新的函数open(),这个函数是干什么的呢?在python里面可以用open函数来打开文件。要用open函数打开一个文件,就是要向它传递一个字符串路径,表明希望打开的文化,这个既可以是绝对路径,也可以是相对路径。open函数返回的是一个File对象。

我们可以尝试一下,先用Notepad或TextEdit创建一个文本文件,名字就叫py.txt。输入Hello world!作为这个文本文件的内容,可以将它保存在你的用户文件夹中。然后,如果使用windows,在交互环境下输入以下代码:

helloFile = open('C:\\Users\\your_home_folder\\py.txt'

如果是在OS X的交互环境下输入以下代码:

helloFile = open('/Users/your_home_folder/py.txt')

请大家确认自己的计算机用户名取代your_home_folder。例如,我的用户名是 aswstyr,所以我在windows下输入'C:\\Users\\aswstyr\\hello.txt'。

这些命令都将以读取纯文本文件的模式打开文件,或简称为“读模式”。当文件 以读模式打开时,Python 只让你从文件中读取数据,你不能以任何方式写入或修改它。 在 Python 中打开文件时,读模式是默认的模式。但如果你不希望依赖于 Python 的默 认值,也可以明确指明该模式,向 open()传入字符串'r',作为第二个参数。所以open('/Users/aswstyr/py.txt', 'r')和 open('/Users/aswstyr/hello.txt')做的事情一样。

调用 open()将返回一个 File 对象。File 对象代表计算机中的一个文件,它只是 Python 中另一种类型的值,就像你已熟悉的列表和字典。在前面的例子中,你将 File 对象保存在 helloFile变量中。现在,当我们需要读取或写入该文件,就可以调用 helloFile变量中的 File对象的方法。

读写文件内容

既然有了一个 File 对象,就可以开始从它读取内容。如果你希望将整个文件的 内容读取为一个字符串值,就使用File 对象的read()方法。让我们继续使用保存在 helloFile 中的 py.txt File 对象。在交互式环境中输入以下代码:

>helloContent = helloFile.read()

> helloContent

'Hello world!'

如果你将文件的内容看成是单个大字符串,read()方法就返回保存在该文件中的 这个字符串。 或者,可以使用 readlines()方法,从该文件取得一个字符串的列表。列表中的 每个字符串就是文本中的每一行。例如,在 hello.txt 文件相同的目录下,创建一个 名为 sonnet.txt 的文件,并在其中写入以下文本:

When, in disgrace with fortune and men's eyes,

I all alone beweep my outcast state,

And trouble deaf heaven with my bootless cries,

And look upon myself and curse my fate,

当然,写什么内容你们定,我只是给你们举个例子

接下来确保用换行分开这 4 行。然后在交互式环境中输入以下代码:

>>> sonnetFile = open('sonnet.txt')

>>> sonnetFile.readlines()

[When, in disgrace with fortune and men's eyes,\n', ' I all alone beweep my

outcast state,\n', And trouble deaf heaven with my bootless cries,\n', And

look upon myself and curse my fate,']

请注意,每个字符串值都以一个换行字符\n 结束。除了文件的最后一行。与单 个大字符串相比,字符串的列表通常更容易处理。

今天就分享到这,学习编程一定要多加练习,要不很容易忘。晚安!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值