(1)文件路徑 +r 的場景
假設機器上有這么個文件
D:\aaa\ttt\a.txt
文件內容為
hello world
hello world
錯誤的python 讀取方式為:
# -*- encoding=utf-8 -*- with open('D:\aaa\ttt\a.txt', 'r') as f: file_info = f.read() print file_info
此時拋出異常,原因是 \a 和 \t 被轉義了
解決辦法1:文件路徑中用兩個\\替換一個\
# -*- encoding=utf-8 -*- with open('D:\\aaa\\ttt\\a.txt', 'r') as f: file_info = f.read() print file_info
解決辦法2:文件路徑加上r防止轉義
# -*- encoding=utf-8 -*- with open(r'D:\aaa\ttt\a.txt', 'r') as f: file_info = f.read() print file_info
解決辦法3 :文件路徑中用/代替\
# -*- encoding=utf-8 -*- with open('D:/aaa/ttt/a.txt', 'r') as f: file_info = f.read() print file_info
結果都為下圖:
(2)文件路徑 +u 的場景
假設機器上有這么個文件
D:\aaa\ttt\資料\a.txt
文件內容為
hello world
hello world
錯誤的python 讀取方式為:
# -*- encoding=utf-8 -*- with open('D:\\aaa\\ttt\\資料\\a.txt', 'r') as f: file_info = f.read() print file_info
此時拋出異常,可以看出編碼出現了問題
解決方法1:文件路徑中加u,表示用unicode編碼
# -*- encoding=utf-8 -*- with open(u'D:\\aaa\\ttt\\資料\\a.txt', 'r') as f: file_info = f.read() print file_info
結果