iT邦幫忙

2024 iThome 鐵人賽

DAY 26
1
自我挑戰組

每日挑戰:從零開始的 Python 學習之旅系列 第 26

【Day 26】檔案處理篇 - 續集

  • 分享至 

  • xImage
  •  

Hi 大家好,

今天要開始介紹Python中的檔案處理篇之續集,那我們開始吧!

Python中提供了三種類別檔案物件分別是: 標準輸入標準輸出標準錯誤

stdin: 表示標準輸入流,通常從鍵盤獲取輸入數據

要如何在Python使用三個類別檔案物件

  • 需要匯入sys模組
  • 以下程式碼會不斷讀取輸入stdin並把訊息印到控制台Console,直到判斷到exit後,結束程式
import sys
 
stdin_fileno = sys.stdin
 
for line in stdin_fileno:
    if 'exit' == line.strip():
        print('離開,結束程式')
        exit(0)
    else:
        print('從sys.stdin讀出訊息: ---> {}'.format(line))
PS D:\Project\practice> python hi.py
123456
從sys.stdin讀出訊息: ---> 123456

helloword 
從sys.stdin讀出訊息: ---> helloword

exit
離開,結束程式
PS D:\Project\practice>

stdout: 表示標準輸出流,通常用來顯示程式的正常輸出結果

  • 需要匯入sys模組
  • 對於輸出文件對象,可以使用sys.stdout,直接把輸入的內容顯示在控制台Console
import sys
 
stdout_fileno = sys.stdout
 
lists = ['Hi', 'My name is Eric', 'Goodbye!!']
 
for item in lists:
    stdout_fileno.write(item + '\n')
PS D:\Project\practice> python hi.py
Hi
My name is Eric
Goodbye
PS D:\Project\practice>

stderr: 表示標準錯誤輸出流,通常用來顯示錯誤消息

  • 需要匯入sys模組
  • 將錯誤直接列印到控制台Console
  • 針對所有輸入字串都加上一個整數,這樣會發生異常。使用Exception捕獲所有異常,同時使用sys.stderr把錯誤訊息列印出來
import sys
 
stdout_fileno = sys.stdout
stderr_fileno = sys.stderr
 
sample_input = ['Hi', 'My name is Eric', 'Goodbye!!']
 
for input in sample_input:

    stdout_fileno.write(input + '\n')

    try:
        input = input + 100

    except Exception:
        stderr_fileno.write('Exception Occurred!\n')
PS D:\Project\practice> python hi.py
Hi
Exception Occurred!
My name is Eric
Exception Occurred!
Goodbye!!
Exception Occurred!
PS D:\Project\practice> 

那今天就介紹到這裡,我們明天見~


上一篇
【Day 25】檔案處理篇 - 續集
下一篇
【Day 27】進階檔案處理篇
系列文
每日挑戰:從零開始的 Python 學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言