iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
自我挑戰組

待業不頹廢系列 第 29

Day 29 . 欸 今天要幹嘛 - file processing

  • 分享至 

  • xImage
  •  

行前提要

來到第29天,雖然要結束了,但有幾篇還要再修正或補齊,感覺好像欠債一樣
開始進修變得很忙,繼續消化課堂的內容,複習好了

file processing 基礎檔案存取

關於第21天,有提到print小秘密,當時少說明了一項print(value, value, ...sep='空一格', end= '\n', file=sys.stdout ),最後的參數file=sys.stdout

輸出至檔案

  • 輸出預設情況下: file=sys.stdout 簡而言之預設情況下,代表內容打印到標準輸出,通常是控制台 console。
  • 輸出可以更改,打印到其他文件上:
  • 使用 open()可以代入兩個參數
    open(file,mode='r') 讀取模式 - 這就是本身預設模式,可以不必寫出來
    open(file,mode='w') 寫入模式 - 會先清空檔案內容再寫
    open(file,mode='x') 若檔案已存在,會引發 FileExistsError;檔案不存在時會先建立新檔,並寫入。
    open(file,mode='a') 附加模式 - 若檔案已存在,寫入的內容會再加至檔案尾端
    下面附上兩張圖
    ⬇️[圖一]
    圖一
    [圖一]第18行,為一般打印出來數組總和
    [圖一]第19行,打開一個名為'result'的文字檔,並'w'來寫入 a 這筆資料 也就是(3, 5, 2, 6)
    [圖一]第20行,💥這裡寫了路徑,想要把資料寫入在其他資料夾中,
    結果效果不對😅變成路徑為命名的檔案,在一樣地方
    下圖可以看到新增了兩個檔,[圖二]檔案內容確實寫入資料(3, 5, 2, 6)
    ⬇️[圖二]
    圖二

寫入檔案

分為兩種方式 file = open('data.txt','w') , with open()

file = open('data.txt','w') 三步驟

  • 開啟檔案
  • 寫入資料
  • 關閉
file = open('data.txt','w') #步驟1 下面內容是步驟2

file.write('寫寫寫資料到檔案\n')  #\n是換行
file.write('寫寫寫123')  #示範沒有 \n
file.write('456456')  

file.close() #步驟3 上面內容是步驟2

>>>
寫寫寫資料到檔案
寫寫寫123456456

with open() 兩步驟

  • 開啟檔案
  • 寫入資料
    架構如下:
with open(file,mode) as file:
... #存取檔案動作

舉例

with open("data.txt","r") as file:
    content = file.read()
    print(content)

寫入舉例

with open ('Qdata.txt','w') as file:
    file.write('寫寫寫資料到檔案\n')  #\n是換行
    file.write('寫寫寫123')  #示範沒有 \n
    file.write('456456')  


>>>
寫寫寫資料到檔案
寫寫寫123456456

上一篇
Day 28 . 欸 今天要幹嘛 - tuple數組、set集合、dict字典
下一篇
Day 30 . 欸 今天要幹嘛 - 檢討30天!
系列文
待業不頹廢30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言