2018年6月5日 星期二

使用 with 開啟檔案並寫入內容

使用 with 開啟檔案並寫入內容
日期:2018/6/6



我在之前的 VPython 文章〈使用for迴圈計算水平抛射資料〉以及水平抛射〉當中,將程式產生的資料轉成字串存到文字檔中,但是當時使用的寫法很有可能會因為最後沒有關閉檔案而發生問題,之前的寫法如下:

file = open("data.txt", "w", encoding = "UTF-8")
file.write("h(m), t(s), R(m)\n")

for h in range(5, 51, 1):
......
    file.write(str(h) + "," + str(t) + "," + str(ball.pos.x + L/2) + "\n")

file.close() 



在 Python 裡有一個小技巧,使用 with 開啟檔案,就可以避免忘記關閉檔案造成的問題,寫法如下:

with open("data.txt", "w", encoding = "UTF-8") as file:
    file.write("h(m), t(s), R(m)\n")

for h in range(5, 51, 1):
......
    with open("data.txt", "a", encoding = "UTF-8") as file:
        file.write(str(h) + "," + str(t) + "," + str(ball.pos.x + L/2) + "\n")



順帶一提,昨天花了一點時間測式高亮度語法的外掛程式,我採用的外掛是 Prism ( https://prismjs.com/index.html ),詳細的作法是參考這篇文章完成的:〈[技術分享] 寫給會在部落格中撰寫程式碼的你 ─ 在網頁中嵌入高亮程式碼上色 (syntax highlighting)〉。我昨天在 Ubuntu 上用 Google Chrome 編輯版面設置,但是沒辦法顯示高亮度語法;今天改用 Windows 再按照相同的步驟編輯就成功了,原因不明。

沒有留言:

張貼留言