iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Python

Python探索之旅:從基礎到實踐系列 第 13

DAY 13: 探索檔案與字符串的奧秘——從資料存取到正則表達式精通

  • 分享至 

  • xImage
  •  

在程式開發中,檔案操作和字符串處理是兩個不可或缺的核心技術。無論是讀取日誌檔案、處理 CSV 資料,還是對文字進行篩選和格式化,這些都涉及到文件操作 (I/O) 與字符串的處理。本次主題將探討如何有效地進行檔案的讀寫與操作,並引入字符串操作方法和正則表達式的基礎。


1. 檔案操作 (I/O) 基礎

檔案操作是與外部資源進行互動的重要部分。我們將學習如何讀取與寫入檔案,包括 CSV 檔案和一般的文本檔案。

(1) 檔案讀取

使用 Python 內建的 open() 函數,我們可以讀取文本檔案。常見的模式有:

  • 'r':讀取檔案
  • 'w':寫入檔案(會覆蓋原有內容)
  • 'a':附加內容到檔案末尾
  • 'rb' / 'wb':以二進位模式開啟檔案

範例:讀取文本檔案

# 開啟檔案並讀取內容
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
(2) 檔案寫入

可以使用 'w' 模式來將內容寫入檔案。如果檔案不存在,Python 會自動創建。

範例:寫入文本檔案

# 寫入內容到檔案
with open('output.txt', 'w') as file:
    file.write("這是寫入檔案的範例內容。")
(3) CSV 檔案處理

CSV (Comma-Separated Values) 是常見的資料存儲格式。我們可以使用 Python 的 csv 模組來讀寫 CSV 檔案。

範例:讀取 CSV 檔案

import csv

# 讀取 CSV 檔案
with open('data.csv', newline='') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

範例:寫入 CSV 檔案

import csv

# 寫入 CSV 檔案
with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['姓名', '年齡', '職業'])
    writer.writerow(['小明', 25, '工程師'])

2. 字符串處理

字符串操作在處理各類資料、格式化輸出及篩選資訊時至關重要。我們將介紹一些常見的字符串方法,並探討如何使用正則表達式進行進階的文本處理。

(1) 字符串操作方法

Python 提供了一系列內建的字符串處理方法,幫助我們進行各種文本操作。

範例:常用字符串方法

text = " Hello, Python World! "

# 去除前後空格
print(text.strip())

# 將全部文字轉換為小寫
print(text.lower())

# 將字串分割成列表
print(text.split(','))

# 字符串替換
print(text.replace('Python', 'Java'))
(2) 正則表達式基礎

正則表達式 (Regular Expressions, 簡稱 regex) 是一種強大的模式匹配工具,用於篩選和處理字符串中的特定內容。Python 的 re 模組提供了對正則表達式的支援。

範例:使用正則表達式進行模式匹配

import re

text = "我的電話號碼是: 0988-123-456"

# 匹配電話號碼的正則表達式
pattern = r'\d{4}-\d{3}-\d{3}'

# 查找符合模式的字符串
match = re.search(pattern, text)

if match:
    print("找到電話號碼:", match.group())
(3) 進階應用:正則表達式篩選

正則表達式不僅限於簡單的匹配,還能進行更複雜的篩選和替換操作。例如,篩選出所有符合某種模式的字符串或將特定的字元替換為其他格式。

範例:正則表達式替換

import re

text = "郵箱地址為:john_doe@example.com"

# 使用正則表達式替換隱藏部分郵箱
masked_email = re.sub(r'(\w+)@(\w+)', r'****@\2', text)
print(masked_email)

3. 結論

檔案與字符串處理是程式開發中的基本功,不僅在數據讀寫中不可或缺,還能幫助我們進行更高效的文字處理。掌握檔案讀寫與正則表達式,可以為我們開發高效、靈活的應用程式提供更大的靈活性。


上一篇
DAY 12: 智能錯誤捕捉——深度掌握 Python 例外處理
下一篇
DAY 14: 超越文本的魔法——深度掌握正規表達式的強大威力
系列文
Python探索之旅:從基礎到實踐28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言