零基础Python到全栈-a模式

接着我们来看a模式。

a模式只是追加写模式,它只能写不能读。

还是老套路,我们来看当文件不存在的时候会发生什么情况。

with open(r'G:\PythonProject\学习\学习文件\date\d.txt', mode='at', encoding='utf-8') as f:
    pass

还是写一个不存在的路径。然后运行。

看见左边文件夹里面出现了d.txt。

所以说a模式下文件不存在时会新建一个空白文件,恩建指针也会在开始位置。

如果当文件存在时,文件指针会调到末尾。

现在我在这个文件里写点内容。

然后我先在这个子代码块这里试试f.read()。

with open(r'G:\PythonProject\学习\学习文件\date\d.txt', mode='at', encoding='utf-8') as f:
    f.read()

报错了,说不能读。

那继续试试写,用f.write(),然后里面加一个\n。

with open(r'G:\PythonProject\学习\学习文件\date\d.txt', mode='at', encoding='utf-8') as f:
    f.write('那么短,还站那么远\n')

运行一下,然后再来看d.txt文件。

我们可以看到,把刚刚的那句话写到最后了。

这正是因为a模式下文件指针会直接跳到最后,所以我们用write写的时候,就是从指针当前位置开始写。

所以我们写的内容就是在最后面了。

现在如果我在这个子到吗块里接着写,就是说在这个文件美观的时候连续写,其实就和w模式下是一样的。

with open(r'G:\PythonProject\学习\学习文件\date\d.txt', mode='at', encoding='utf-8') as f:
    f.write('那么短,还站那么远\n')
    f.write('那么短,还站那么远\n')

都是接着后面写,来运行看看。

在d.txt文件里面,就又多了两条。

如果我继续运行,就会又多两条‘那么短,还站那么远’。

a模式和w模式的区别就是,a模式每次打开文件,文件指针会跳到最后。

w模式每次打开文件会先清空文件,文件指针再回到开头。

所以w模式我们一般用来写新文件,a模式我们一般给老文件增加内容。

比如日志文件,用户的交易记录什么的。

如果niyongw模式来写用户的交易记录的话,你第一的用户充值之后第二个用户再来充值,然后你前面用户的充值记录就被清空了。

你的文件里永远就只有最后一个用户的充值记录。

未经允许不得转载:445IT之家 » 零基础Python到全栈-a模式

赞 (0) 打赏

相关推荐

    暂无内容!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏