python函数 模块先加载到内存后执行_文件操作和导入os模块执行文件和目录管理操作...

本文介绍了文件的概念,包括文本文件和二进制文件的区别,强调了计算机中所有文件本质上都是以二进制方式存储的。详细阐述了文件的读写操作步骤,如打开、读取、写入和关闭,并通过Python代码展示了如何使用open函数及read、write、close等方法进行操作。此外,还讲解了如何按行读取大文件和复制文件,以及不同打开模式(r、w、a)的用途。
摘要由CSDN通过智能技术生成

文件概念以及文本文件和二进制文件的区别b36b4c987d20001af6fc69693f7a2c72.png

898fa179f4d8681074ad90281c9c269d.png

计算机的CPU如果想要访问保存在磁盘上的文件,第一步需要把磁盘上的文件数据加载到内存中。因为内存的读写速度要比磁盘的读写速度快很多。

计算机只能识别0101这种二进制的数据。

文本文件可以用文本编辑软件来查看。

不能用文本编辑软件查看,只能使用专门的其它软件来查看的文件统称为二进制文件。

无论是文本文件还是二进制文件,本质上在计算机都是以二进制方式来存储的。

文件操作套路以及Python中的对应函数和方法4982e4326ccd04e3c07a6eaf7bbba7e9.png

读 就是把文件在磁盘中的数据加载到内存。

写 就是把内存中的内容再重新写回到磁盘的文件。

无论是否编写代码,对于文件的操作,都需要按照这三个步骤来进行:打开,读写,关闭。

当你修改了内容,内存中的数据已经发生了变化,所以在关闭时会提示我们是否把变化后的数据再重新写回到磁盘的文件。

在python中一切皆对象,open 函数打开文件并且返回文件操作对象。有了这个文件操作对象后,就可以让这个对象来调用 read, write, close 这三个方法。

读取文件内容ec7615977b18d037164bb694ab000cb1.png

定义一个变量 file (作为对象名) 来接收 open函数返回的结果----文件操作对象。open函数的第一个参数就是要打开的文件名,注意文件名区分大小写。先编辑打开的代码,立马编辑关闭的代码 (对象名. close()),最后再编辑读写的代码,养成良好的编程习惯。

定义一个变量接收 read 函数返回的文件所有内容。

在Pycharm中,Shift + F10 是运行的快捷键。

读取文件后文件指针会发生变化

60db49e210b4bca5606d75796326481d.png

411c7ca3c1589555f0a5c15faca0d05c.png

3d7b9837c769d2bed92e4c1b39b01b4c.png

打开文件方式以及写入和追加数据c845c677d8bb6b7d02cd07d8b28ebbf1.png

打开文件方式就是指open 函数的第二个参数。

r: 不传递第二个参数 或者 第二个参数为 r ,都是以只读方式打开文件。此时不能写入文件。021723ec1e982740b66d0bee8ca99032.png

386b4cd4dabd9397f10f4e6d1b1c7d4f.png

w: 以只写方式打开文件,文件原本的内容会被覆盖,从头开始写入。851b2f31bd849aecd5f0375dab6673e2.png

17dbc70ef39d5e0d25ed883c79e5f042.png

a: 写的内容追加到文件中已有内容的末尾。a 就是指 append。b33643b5a0e26a109f27791ca14449bb.png

4cf4aa66c9d233151f13ba662a0f7748.png

如果只是读取文件,并不需要传递第二个参数给open函数。

使用readline分行读取大文件eae1cb26981ff1fa97b682ff6ab6d660.png

使用 text 变量返回 readline 的执行结果。

在并不知道这个文件有多少行的情况下,使用while循环,既然不知道循环条件,那就把循环设置成无限循环,while True:   一直读取,

readline 会读取一行内容返回给 text, 并且会把文件指针移动到下一行。如果文件指针移动到文件末尾,readline 就读取不到内容了,这就是我们退出这个循环的时机。判断一下text有没有接收到内容,没有内容就break。caddc805b6769c48988041bfc1097059.png

e10616a8526d76bc43316eabe3b85f09.png

小文件复制1dab29dcf7adfacb38d485b8ef42b772.png

d2d7d0d9e7c66c24ab73447a5e3230ba.png

源文件以只读方式打开,目标文件以只写方式打开。

既然是一个小文件,就可以使用read方法一次性把源文件所有内容读取出来,然后把这些内容直接写到目标文件。

关闭源文件和目标文件。

text接收到读取的内容,然后再把text作为参数传递给write函数。格式为 对象名.write(text)a8a9e8c2f3bbe84450acda58ac060a45.png

ab062b4bdade03a1a391c4231f264eb7.png

控制台虽然没有任何的输出,但是工程文件夹下(左侧)会有 README[复件]。

若把 README 内容做了修改,再次运行程序,README[复件] 的内容会立刻发生变化。新的内容会立刻复制到README[复件] 中。

大文件复制324b0e5dee5f62d8643f3099d7095487.png

若文件太大,一次性读取会给内存造成太大的压力。应该是读取一行,写入一行。bd1a97d8285d87b80dbde322158f63cb.png

如果读取到内容,就“写”,如果没有读取到内容,就退出循环。

导入os模块执行文件和目录管理操作af0aedcd99e3b539fcb1548cba4b1d9a.png

管理操作并不是针对具体某一个文件的读或者写的操作。

文件操作1c174ad787d05e84b1561bae86e0d308.png

目录操作7f88bad46f5ffb1c306ea37ef50964c1.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值