一、文件
1、文件的概念
·文件是指存储在某种长期存储设备上的一段数据。
·长期存储设备包括:硬盘、U盘、移动硬盘、光盘
2、文件的作用
将数据长期保存下来,在需要的时候用
保存的内容不是给人直接阅读的,而是提供给其他软件使用的;
二进制文件都不能用文本编辑软件查看;
3、文件地存储方式
·在计算机中,文件是以二进制的方式保存在磁盘中
二、文件的操作
1、基本操作(1个函数,3个方法)
1、打开文件 open | 打开文件,并且返回文件操作对象 |
2、读写文件 | ·将文件读入内存 ·将内容写入文件 |
3、关闭文件 | 关闭文件 |
read/write/close都需要通过 文件对象 来调用
开发中通常会先编写打开和关闭的代码,再编写中间针对文件的读/写操作!
2、read方法---读取文件
- ·open函数的第一个参数是要打开的文件名(文件名区分大小写)
- 如果文件存在,则会返回操作对象
- 如果文件不存在,则会抛出异常
- read 方法可以一次性读入并返回文件的所有内容
- close 方法负责关闭文件
- 如果忘记关闭文件,则会造成系统资源的消耗,还会影响到对后续文件的访问
- 注意:方法执行后,会把文件指针移动到文件的末尾(类似于电脑的指标)
- 案例:读取内容为下列文字的 READme.txt 文件
代码实例:
file = open("README.txt") # 1、打开文件
text = file.read() # 2、读取文件内容
print(text)
file.close() # 3、关闭文件
文件中有中文需要设置encoding="UTF-8",也就是在open函数内部多加一个参数:
file = open("README.txt",encoding="UTF-8") # 1、打开文件
3、文件指针(扩展)
- 文件指针标记从哪个位置开始读取数据
- 第一次打开文件,通常文件指针会指向文件开始的位置
- 当执行了read方法后,文件指针会移动到读取内容的末尾
- 默认情况下会移动到文件末尾
file = open("README.txt",encoding="UTF-8") # 1、打开文件
text = file.read() # 2、读取文件内容
print(text)
print(len(text))
print("-" * 50)
text = file.read()
print(text)
print(len(text))
file.close() # 3、关闭文件
运行以上代码,就会发现使用read方法后,再次读取文件就不会再出现结果,这是因为使用read方法后,指针会移到文本末尾。
思考:如果运行了一次read方法,读取了所有内容,那么再次调用read方法,还能获取到内容吗?
答案:
不能。第一次读取后,文件指针移到了文件末尾,再次调用不会读取到任何的内容。
4、打开文件的方式
open函数默认以只读方式打开文件,并且返回文件对象
语法如下:
访问方式 | 说明 |
r | 以只读方式打开文件。(默认模式) |
w | 以只写方式打开文件。如果文件存在会被覆盖,如果不存在,将会自动创建新文件。 |
a | 以追加方式打开文件。如果文件存在,指针会放在文本末尾进行追加;如果文件不存在,则会创建新文件。 |
r+ | 以读写的方式打开文件。文件的指针会放在文件的开头。 |
w+ | 以读写的方式打开文件。同w差不多 |
a+ | 以读写方式打开文件。同a差不多。 |
示例:
file = open("README.txt","w") # 打开文件
file.write("hello,zhouzhou!")
file.close()
输出结果:
hello,zhouzhou!