虽然视频、音频和图片在硬盘中也是用二进制存储的,可是上一章节讲的字符编码只和文本文件有关,由于‘utf-8’格式的编码并不使用视频,视频有其自己的编码格式,如MP四、avi、mkv等。app
文件是操做系统为用户或应用程序提供的一个读写硬盘的虚拟单位。文件的操做是基于文件,即文件的操做核心就是:读和写。也编辑器
就是只要咱们想要操做文件就是对操做系统发起请求,而后由操做系统将用户或应用程序对文件的读写操做转换成集体的硬盘指令(好比控制盘片转动,控制机械手臂移动,以此来读取数据)。编码
内存没法永久保存数据,但凡咱们想要永久保存数据都须要把文件保存到硬盘中,而操做文件就能够实现对硬件的操做。操作系统
如今咱们有一个需求须要把用户输入的帐号密码存储到硬盘中,咱们使用Python该如何操做呢?code
name = 'nick' pwd = '123'
若是咱们须要打开一个文件,须要向操做系统发起请求,要求操做系统打开文件,占用操做系统资源。Python中使用open()方法能够打开某个具体的文件,open()方法内写入文件路径。视频
open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt')
若是给列表增长值,咱们须要给列表赋值后才能给对应的列表增长值。文件也是如此。图片
lis = [1,2,3] lis.append(4) lis.append(5)
# 打开文件 f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt') print(f)
<_io.TextIOWrapper name='/Users/mac/desktop/jupyter/pythonCourseware/32.txt' mode='r' encoding='UTF-8'>
打开文件以后,文件不只占用了内存,他还对应了操做系统打开的以文件,至关于使用文本编辑器打开了一个文件。而且咱们说了咱们操控文件只是为了读和写,所以打开文件并非目的,读和写才是目的,接下来咱们尝试如何读写文件。内存
# read模式打开文件 f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r') # 读取文件内容,向操做系统发起读请求,会被操做系统转成具体的硬盘操做,将内容由硬盘读入内存 data = f.read() print(data) # 因为Python的垃圾回收机制只回收引用计数为0的变量,可是打开文件还占用操做系统的资源,因此咱们须要回收操做系统的资源资源 # del f 只是回收变量f f.close()
name = 'nick' pwd = '123'
# write模式打开文件 f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='w') f.write("""name = 'nick' pwd = '123'""") f.close() f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r') data = f.read() print(data)
name = 'nick' pwd = '123'
打开文件总而言之分为三步:utf-8