Python——文件读取与写入

我们经常需要从文件中读取数据,因此学会文件的读取很重要,下面来介绍一下文件的读取工作:

    poem.txt

Shall I compare thee to a summer's day?
我怎么能够把你来比作夏天
Thou art more lovely and more temperate。
你不独比它可爱也比它温婉
Rough windsdo shakethe darling buds of May,
狂风把五月宠爱的嫩蕊作践
And summer's lease hath all too short a date。
夏天出赁的期限又为免太短

1、读取文件    

单纯的读取一个文件,我们首先要打开文件,然后读取里面的内容,使用read()方法,读取文件的全部内容,然后把读取出来的内容进行赋给一个变量;

  • with方式打开文件:
  • open方法直接打开并读取文件,不使用with语句,此方法直接读取文件,但是要记得关闭文件,我们要知道,我们操作的是什么,目的是什么,如果我们只是单纯的读取文件的内容,而不去修改它,那么就单纯使用open()方法,不用第二参数即可。
# -*- coding: UTF-8 -*-
import sys
import json
reload(sys)
sys.setdefaultencoding('utf-8')

def file_Reader():
    #with方式读取
    with open('poem.txt') as file_object:
        #读取整个文件
        contents = file_object.read()
        print(type(contents))
        print(contents)
        #
        #逐行读取
        # for line in file_object:
        #     print line

        #读取文件内容到一个列表中
        # lines = file_object.readlines()
        # print lines
#*******************************************
    #直接open文件,记得close文件
    # f = open('poem.txt')
    
    # 读取整个文件
    # contents = f.read()
    # print(contents)

    #组行读取
    # for line in f:
    #     print line.strip()

    # 读取文件内容到一个列表中
    # lines = file_object.readlines()
    # print lines
    
    # f.close()

if __name__ == "__main__":
    file_Reader()

二者异同点:

  • 方法1,with 语句在不再需要访问文件后将其关闭。直接使用open()方法打开文件,但不需要自己调用close()关闭文件;
  • 方法2,直接使用open()方法打开文件,要自己调用close()方法关闭文件。如果程序存在bug,导致close()语句未执行,文件将不会关闭。这看似微不足道,但未妥善地关闭文件可能会导致数据丢失或受损。如果在程序中过早地调用close(),我们会发现需要使用文件时它已关闭(无法访问),这会导致更多的错误。并非任何情况下都能轻松地确定关闭文件的恰当时机。
  • 两种方法都可打开文件,方法1with打开的方式更安全一些,不需要我们去确定什么时候关闭文件。
  • 两种方法在打开文件后,都可读取整个文件内容/逐行读取/把文件读取到一个列表中。

二、写入文件

    保存数据的最简单的方式之一是将其写入到文件中。

读取和写入文件有两种方法,一种是with语句打开文件;另一种是open()和close()结合使用打开和读取文件。

# -*- coding: UTF-8 -*-
import sys
import json
reload(sys)
sys.setdefaultencoding('utf-8')


def file_Writer():
    #with方式写入文件内容
    # with open("testWriter.txt","w") as f:
    #     f.write("hello,world")
    #

    #open()和close()结合使用打开文件
    f = open("testWriter.txt", "w")
    f.write("hello,world666")
    f.close()


if __name__ == "__main__":
    # file_Reader()
    file_Writer()
打开方式  
"r"读取模式默认的只读模式打开文件
"w"写入模式写入模式要覆盖之前文件里面的内容
"a"附加模式 
"r+"可读取和写入文件的模式 

打开文件时,可指定打开模式,如果我们要写入的文件不存在,函数open()将自动创建它。然而,以写入('w')模式打开文件时千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件。所以使用写入模式('w')的时候一定要小心。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,我们可以使用内置的 `open()` 函数来打开一个文件,然后使用文件对象进行读写操作。下面是一个简单的例子: ## 写入文件 ```python # 打开文件(如果文件不存在则创建) file = open("example.txt", "w") # 写入内容 file.write("Hello, World!\n") file.write("This is an example file.\n") # 关闭文件 file.close() ``` 在上面的代码中,我们使用 `open()` 函数打开一个名为 `example.txt` 的文件,并指定模式为 `"w"`,表示写入模式。如果文件不存在,则会创建一个新的文件。然后,我们使用 `write()` 方法写入两行文本内容,并在每行的末尾添加了一个换行符。最后,我们使用 `close()` 方法关闭文件。 ## 读取文件 ```python # 打开文件 file = open("example.txt", "r") # 读取内容 content = file.read() # 关闭文件 file.close() # 输出内容 print(content) ``` 在上面的代码中,我们再次使用 `open()` 函数打开 `example.txt` 文件,并指定模式为 `"r"`,表示读取模式。然后,我们使用 `read()` 方法读取文件的所有内容,并将结果保存到 `content` 变量中。最后,我们使用 `print()` 函数输出 `content` 变量的值。 需要注意的是,在读取文件时,我们需要确保文件已经存在,否则会抛出 `FileNotFoundError` 异常。此外,在读取文件时,我们可以使用 `readline()` 或 `readlines()` 方法逐行读取文件的内容,而不是一次性读取整个文件

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值