Python开发之路(三)

一、文件操作

文件的操作的底层原理:例如平时我们打开一个记事本,写一些数据并保存好,下次打开这个记事本修改了一些数据,保存关闭后,我们看到的好像是还是这个文件了,其实不然。我们以第一次保存好的文件好比叫做file.txt,我们在打开这个文件的时候,实际上是如何看的呢?是将file.txt的数据都刷到电脑内存中去,然后由内存调用给我们展示出来,当进行文件操作的时候,系统会同时创建一个形如file.txt.swap的文件,这个文件是做什么的呢?实际上是将我们的操作,改动,先从file.txt中读出来,然后修改,再刷到file.txt.swap中,然后保存关闭文件,做了哪些事呢?首先将旧文件file.txt删掉,然后将file.txt.swap文件重命名成file.txt文件再保存在硬盘中,所以此时看到的file.txt已经非彼file.txt了。


在Python中,这是怎么实现的呢?

m1=open(filename,'r',encoding='utf-8')

msg=m1.read

print(msg)

利用open内置函数,调用文件,此时需要几个元素:

1.文件名,(绝对路径或相当路径)

2.动作(即此时是读,读的动作也为默认动作,即使你不写,也是read)

3.字符编码(Python中大多用的是utf-8,此处可参照Python开发之路(二))

现在读实现了,那么写呢?

m2=open(filename.swap,'r',encoding='utf-8')

msg=m1.replace(old,new)

m2.write(msg)

此时就完成了写动作,写动作也需要三个元素:

1.文件名,没有该文件的话,创建。如果已有改文件,那么就清空重写

2.动作(写动作)

3.字符编码

写好了新文件,我们此时将旧文件删除,并重命名新文件,修改完成。

还有一种写方式是'a'

a的写方式是在文件的最后追加数据信息。

综上所述:

r为只读,w为只写,a为追加。


在遇到非文本文件时,例如图片,视频,等等。

此时如果用上述三种方式对文件进行操作会报错,那怎么办呢?

使用rb,wb,ab。由于所有文件都是由字节组成,那么都转化成bytes类型进行操作的话,也就不用考虑字符编码问题了。


文件操作的方法包括:

f.read()读取所有内容,光标移动到最后

f.readline()读取第一行内容,并将光标第二行行首

f.readlines()读取每一行内容,并存在列表中


f.write('abcdefg\nasdasd')直接写文本

f.writelines(['123123\n','asdas\n'])一行一行的写


f.readable文件可读

f.writable文件可写

f.closed文件关闭


seek() 0,1,2 都是以一个bytes单位移动

tell() 看光标目前在哪


二、函数


def 函数名():                        #在定义阶段,()内的参数是形参

    函数体

函数名()                                  #在执行阶段,()内的参数是实参


定义函数就像定义一个变量,函数定义的时候不执行。

函数分为:内置函数和自定义函数


在定义函数时,如果在函数体中,出现return,那么return下面的就不执行了,并返回return后的值

return 不写或者None 则返回None

return 返回单个数

return 返回多个数是将多个数作为一个元祖的形式返回


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值