open() 函数以 r+ 模式打开文件

第一种用法:如果我们对文件进行写操作,则默认会从第一行开始写,且直接覆盖第一行的内容

[root@localhost ~]$ cat 1.txt   # 文件内容如下
aaa
bbb
ccc
In [1]: data = open('1.txt', 'r+')    # 以读写模式打开,并写入'ddd'

In [
2]: data.write('ddd')
In [
3]: data.close()
[root@localhost ~]$ cat 1.txt    # 可以看到'ddd'覆盖写入了第一行
ddd
bbb
ccc

第二种用法:先把文件内容读出来,再进行写操作,写入就会在文本后面追加,而不是从头覆盖原始内容了

[root@localhost ~]$ cat 1.txt   # 文件内容如下
aaa
bbb
ccc
In [1]: data = open('1.txt', 'r+')    # 以读写模式打开文件

In [2]: data.read()                   # 先把文件内容读出来,如果使用read(),则文件指针就指到最后
Out[2]: 'aaa\nbbb\nccc\n'             

In [3]: data.write('ddd\n')           # 再进行写操作,就是从指针的位置开始写入了

In [4]: data.close()                  # 同理,如果使用readline()或readlines(),文件指针的位置也不一样
[root@localhost ~]$ cat 1.txt     # 可以看到写入到最后一行了
aaa
bbb
ccc
ddd

    

猜你喜欢

转载自www.cnblogs.com/pzk7788/p/10253639.html