1. 程式人生 > >open() 函式以 r+ 模式開啟檔案

open() 函式以 r+ 模式開啟檔案

第一種用法:如果我們對檔案進行寫操作,則預設會從第一行開始寫,且直接覆蓋第一行的內容

[[email protected] ~]$ cat 1.txt   # 檔案內容如下
aaa
bbb
ccc
In [1]: data = open('1.txt', 'r+')    # 以讀寫模式開啟,並寫入'ddd'

In [
2]: data.write('ddd')
In [
3]: data.close()
[[email protected] ~]$ cat 1.txt    # 可以看到'ddd'覆蓋寫入了第一行
ddd
bbb
ccc

第二種用法:先把檔案內容讀出來,再進行寫操作,寫入就會在文字後面追加,而不是從頭覆蓋原始內容了

[[email protected] ~]$ 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(),檔案指標的位置也不一樣
[[email protected] ~]$ cat 1.txt     # 可以看到寫入到最後一行了
aaa
bbb
ccc
ddd