# Python中文件操作與異常的處理是怎樣的
## 1. 文件操作基礎
### 1.1 打開文件
在Python中,使用`open()`函數來打開文件,基本語法如下:
```python
file = open(filename, mode)
常用模式:
- 'r'
:只讀(默認)
- 'w'
:寫入(會覆蓋原有內容)
- 'a'
:追加
- 'b'
:二進制模式
- '+'
:讀寫模式
# 讀取整個文件
content = file.read()
# 逐行讀取
for line in file:
print(line)
# 讀取單行
line = file.readline()
file.write("Hello, Python!\n")
file.writelines(["line1\n", "line2\n"])
file.close()
推薦使用with
語句自動管理文件資源:
with open('example.txt', 'r') as file:
content = file.read()
# 文件會自動關閉
try:
# 可能出錯的代碼
file = open('nonexistent.txt', 'r')
except FileNotFoundError:
# 處理特定異常
print("文件不存在!")
except Exception as e:
# 處理其他異常
print(f"發生錯誤:{e}")
try:
# 嘗試執行的代碼
pass
except SpecificError:
# 處理特定異常
pass
except (ErrorType1, ErrorType2):
# 處理多個異常
pass
except Exception as e:
# 處理未預料到的異常
print(f"未知錯誤:{e}")
else:
# 沒有異常時執行
pass
finally:
# 無論是否發生異常都會執行
pass
try:
with open('missing.txt') as f:
pass
except FileNotFoundError:
print("文件未找到,請檢查路徑")
try:
with open('/root/file.txt', 'w') as f:
pass
except PermissionError:
print("沒有寫入權限")
try:
with open('/etc', 'r') as f:
pass
except IsADirectoryError:
print("這是一個目錄,不是文件")
def safe_copy(src, dst):
try:
with open(src, 'rb') as src_file:
with open(dst, 'wb') as dst_file:
dst_file.write(src_file.read())
print("文件復制成功")
except FileNotFoundError:
print("源文件不存在")
except PermissionError:
print("沒有操作權限")
except Exception as e:
print(f"復制失?。簕e}")
safe_copy('source.txt', 'destination.txt')
def log_message(message):
try:
with open('app.log', 'a') as log_file:
log_file.write(f"{datetime.now()}: {message}\n")
except IOError as e:
print(f"無法寫入日志:{e}")
log_message("系統啟動")
with open('file.txt', 'r', encoding='utf-8') as f:
pass
Python的文件操作和異常處理機制提供了強大而靈活的工具: - 文件操作API簡單直觀 - 異常處理能有效預防和解決問題 - 上下文管理器簡化了資源管理 - 合理的錯誤處理能提升程序健壯性
通過結合文件操作和異常處理,可以編寫出既強大又可靠的Python程序。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。