• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Python 標準輸入 stdin、標準錯誤 stderr 使用教學與範例

介紹如何在 Python 中從標準輸入(standard input)讀取資料,以及透過標準錯誤(standard error)輸出錯誤訊息。

標準輸入

sys 模組所提供的 stdin 可以讓程式設計者從標準輸入讀取資料,其使用方式就跟普通檔案一樣:

import sys

# 從標準輸入讀取資料
for line in sys.stdin:

    # 去除空白與換行字元
    line = line.rstrip()

    print(line)

若要在程式執行期間讓使用者輸入資料,可以使用 input:

# 讓使用者輸入資料
data = input("請輸入資料:")

# 輸入的資料
print(data)

fileinput 模組也可以用來讀取標準輸入的資料,不過它的功能更豐富,若執行的指令稿沒有指定任何參數,它就會從標準輸入讀取資料,而如果執行時在參數列指定檔案名稱,則 fileinput 就會自動從該檔案中讀取資料:

import fileinput

# 從參數指定的檔案或標準輸入讀取資料
for line in fileinput.input():

    # 去除空白與換行字元
    line = line.rstrip()

    print(line)

將上面這段指令稿儲存為 myscript.py 後,可以有兩種資料輸入方式:

# 從標準輸入讀取資料
python3 myscript.py

# 從 infile.txt 檔案讀取資料
python3 myscript.py infile.txt

標準錯誤

標準錯誤(standard error)是專門用於輸出警告或錯誤訊息的輸出管道,在 Python 中我們可以將訊息輸出至 sys.stderr 這個特殊檔案,這樣這些訊息就會透過標準錯誤來輸出。

import sys

# 將訊息輸出至標準錯誤
print("Hello, Error!", file=sys.stderr)

實務上我們可以定義一個專門用於輸出警告或錯誤的 eprint 函數,這樣會比較方便:

import sys

# 專門用於輸出警告或錯誤訊息的函數
def eprint(*args, **kwargs):
    # 將訊息輸出至標準錯誤
    print(*args, file=sys.stderr, **kwargs)

# 輸出警告或錯誤訊息
eprint("Hello, Error!")

參考資料:Wikibooks、StackOverflow、StackOverflow

分類:Python

主要資訊欄

搜尋

近期文章

  • Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤
  • Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例
  • Linux 網路設定 ip 指令用法教學與範例
  • Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例
  • Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例
  • Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例
  • Linux 以 Cryptsetup 與 LUKS 加密磁碟教學與範例
  • Linux 使用 age 簡潔的加密、解密工具使用教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide