Python-open

Python提供open的功能,用來開啟檔案執行讀取或寫入的動作


基本指令

with open(檔案名稱加路徑, 開啟的模式) as file:
    file.write('要寫入的資料')
    print (file.read())
    file.close()


每次使用完畢後,最好最後面放置.close(),確認這個物件真的有被關閉
example :
開啟使用者桌面的aaa.txt檔案,並寫入變數kkk的資料


import os

kkk = 'Hello world!!'
try:
    with open('C:\\Users\\' + os.getlogin() + '\\Desktop\\aaa.txt', 'w') as tmp:
        tmp.write(kkk)
except IOError as err:
    print (err)
finally:
    tmp.close()


開啟的模式有底下這幾種

開啟的模式 解釋
r
讀取檔案。游標的位置會在檔案的最前面(預設)
讀取前,檔案必須存在,不然會出現錯誤
w
寫入檔案。游標的位置會在檔案的最前面
如果沒有檔案會自動建立檔案,如果已經有檔案,會把檔案內的資料全部清空
a
寫入檔案。游標的位置會在檔案的最後面
如果沒有檔案會自動建立檔案,如果已經有檔案,游標的位置會在檔案的最後面
x
寫入檔案。檔案必須不存在
如果檔案已經存在,會出現錯誤訊息FileExistsError
t
以文字文件方式打開(預設)
b
以二進位方式打開
+
同時有寫入和讀取的能力

                  | r   r+   w   w+   a   a+
------------------|--------------------------
read              | +   +        +        +
write             |     +    +   +    +   +
create            |          +   +    +   +
truncate          |          +   +
position at start | +   +    +   +
position at end   |                   +   +

前四個r, w, a, x可以單獨使用,因為預設會自動添加t,如只填寫 'r',實際上是 'rt'
後三種要跟前四種合併使用 t, b,+,如 'rt', 'rb', 'r+'
b - 這個模式主要是用在如Telnet或Html的模式下在使用的方式


例子,如果要以binary的方式寫入檔案,並且每次寫入前要先清空檔案內的資料,最後還要讀取資料:

with open('file.txt', 'wb+') as tmp:
    tmp.write('Hello world!!')
    print (tmp.read())
    tmp.close()

留言

此網誌的熱門文章

WPA_supplicant的設定方式

DOS指令 -- SET和變數

Nginx server 和 location 優先順序