python入门——文件操作

文章目录


前言

        学习处理文件和保存数据可以让你的程序使用起来更加容易;用户将能够选择输入什么样的数据,以及在什么时候输入;用户使用你的程序做一些工作后,可将程序关闭,以后再接接着往下做。 


提示:以下是本篇文章正文内容,下面案例可供参考

一、读取文件

1.读取整个文件

filename = 'test_10.txt'
with open(filename) as file_object:
    contents = file_object.readline()
    print(contents)

        这段代码首先我们看open()函数——一个对文件操作的一个函数,它可以打开其填入参数的文件,然后返回一个 表示文件‘test_10.txt’的对象,Python将改对象赋给file_object供以后使用。而关键字with的作用是我们不在需要对其访问文件时将其关闭,有效的避免了我们在打开文件之后,忘记close(),而有打开另一个文件时报错。(注意:读取文本文件时,Python将其的所有文本都解读为字符串

2.文件路径

        类似于上面代码的简单文件名传给函数open()函数时,Python 将在当前执行的文件(即.py程序文件)所在的目录中查找 。但如果我们想读取我们电脑中某一个指定文件时,我们改怎么办呢?我们可以采用绝对文件路径(代码如下)。

with open('D:/Game_development/python_primer/test_10.txt') as file_object:  # 绝对文件位置
    contents = file_object.read()
    print(contents)

         可以看到我们在open()函数填入了我们文件具体位置,使Python知道完整的路径,从而打开对应文件。这里我们需要特别注意:显示文件路径时,Windows系统使用反斜杠‘\’,而不是斜杆‘/’,所以我们在电脑中读取到对应文件位置时要将其改过来,如果一定要使用反斜杠,可以加‘\’,对其每一个反斜杠进行转义。

3.逐行读取

方法一: 

         此时我们发现每打印一行,就有一行空白,为什么呢?原来是每行的末尾都有一个看不见的换行符,而每次调用print()也会上一个换行符,因此每行末尾都有一行空行。我们可以在调用print()函数中使用函数rstrip() (可以去掉末尾的空白)

方法二:

with open(filename) as file_object:
    lines = file_object.readline()
    print(lines.rstrip())

        方法readline()是读取文件中一行数据, readlines()是读取文件中所有行数据,形成一个列表。

二、写入文件

1.写入一行文件

filename = 'test_10.txt'

with open(filename, 'w') as file_object:
    file_object.write("I love you!")

        首先我们看open()函数中多了一个参数 ‘w’,这代表着要以写入模式 打开这个文件。以写入模式打开文件时,Python将在返回文件对象前清空改文件的内容,如果填入的文件名没有,会立即创建对应文件。(读取模式‘r’,附加模式‘a’,读写模式‘r+’

2.写入多行

filename = 'test_10.txt'

with open(filename, 'w') as file_object:
    file_object.write("I love you!")
    file_object.write("you to")

 三、存储数据 

        在我们关闭程序时,我们要保存数据该怎样做呢?  我们可以使用上面的写入文件的方法,但还有一个更简单的方式是使用模块json来存储数据。

1.使用json.dump()存储

import json


numbers = [1, 2, 3]
filename = 'test_10.txt'

with open(filename, 'w') as f:
    json.dump(numbers, f)

2.使用json.load()读取

import json


filename = 'test_10.txt'

with open(filename) as f:
    numbers = json.load(f)
    print(numbers)

总结

        记录自己一些学习的经历,如果有什么错误,请及时评论改错。最后希望这篇文章能帮助像我一样刚学Python的小萌新们!!! 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值