open() 函式以 r+ 模式開啟檔案
阿新 • • 發佈:2019-01-11
第一種用法:如果我們對檔案進行寫操作,則預設會從第一行開始寫,且直接覆蓋第一行的內容
[[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