了解:文件读写用途,通过计算机内存和硬盘的区别理解python文件读写

python程序或其他的计算机语言为什么会被计算机执行

计算机有两样基本操作——复制和粘贴。使用的就是计算机语言的读取和写入的功能进行开发的,当然,通常情况下不会用python来开发这样的功能,一般是使用c/c++,或c#,这些语言在开发PC端的软件方面比较有性能上的优势。除此之外,我们不妨来畅想一个问题:python程序或其他的计算机语言为什么会被计算机执行?

接下来我们来看一看,思考思考,或者说是来畅想一下。


计算机内存和硬盘的功能、区别

我们首先来思考一个问题,计算机为什么要分出内存和硬盘呢?

大家都应该用过PC端的设计有GUI用户界面的软件吧,比如word软件,我们第一次打开word软件(指的是电脑启动后的第一次打开)所用的时间是不是比第二次打开的要长一些?!除此之外,我们在word软件中编辑文本之后,点击关闭的时候,word软件是不是还会提示我们要不要将编辑的内容保存起来,否则将会丢失数据(所编辑的文本)?!

是的,这其中就尽显了内存和硬盘各自的用途了。其中,我们打开word软件,是将保存在硬盘里的word软件的程序加载进内存(实际上是编译好的机器码),就像python在执行程序的过程中,遇到函数代码块的时候,也是先将其添加进内存,遇到调用的时候才会执行。

计算机将word软件的程序加载进内存,然后便在内存当中执行,当我们在软件里头编辑文本之后,并保存,计算机就会从内存当中读取该数据——所编辑的文本——并写入到硬盘,保存起来。而为什么不保存数据就会丢失呢?这是因为内存的机制。

计算机的内存,其内存空间是用来存储被调用的程序,并执行,主要用途是在于运算,并不是保存,而且随着软件的关闭会释放内存,释放空间——可以理解成就是内存空间里头“暂时”存储的程序删除掉,这也就是我们关闭软件或APP,计算机或手机的内存的可用空间会增大的缘故。鄙人所理解的,内存之所以不保存文件而专注于运算,目的自然是为了高效,至于是不是芯片的科技上的技术限制鄙人没有去研究。

那么我们第二次打开软件为什么比第一次的快呢?鄙人认为这可能是因为缓存的机制,就像浏览器对网页的缓存。

好了,接下来,我们来畅想一下,安装在硬盘里头的——不管是c盘、d盘、e盘等都是硬盘——软件的程序是怎么被加载进内存里的。


文件的读写操作

计算机要运行python软件,势必要将python软件的程序编译成机器码(不管是c/c++、java、go,还是python都要编译成机器码,也就是二进制的机器语言),并加载进内存,这个过程该如何完成,我们不妨大胆一点,认为就是通过计算机语言的读取功能,从安装在硬盘的程序文件当中读取代码,转换成二进制的机器语言,再写入到内存,让计算机运算。然后运算过程中所产生的数据、日志等内容,又通过读取的功能再根据相应的编码格式(上一节中介绍的encoding),转换成相应的数据,比如中文、英文、计算机语言等,再写入到硬盘,以保存起来。

至于其原理是不是这样,还有待考究,不过,鄙人还是十分认同自己这样的畅想的,也认同这样的畅想方式,这有助于思考和创新。


好了,下一章节,我们将继续介绍python文件读写的读取操作,及其相关的函数。


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.