文章目录
前言
学习处理文件和保存数据可以让你的程序使用起来更加容易;用户将能够选择输入什么样的数据,以及在什么时候输入;用户使用你的程序做一些工作后,可将程序关闭,以后再接接着往下做。
提示:以下是本篇文章正文内容,下面案例可供参考
一、读取文件
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的小萌新们!!!