今天在寫一個發(fā)送帶附件的郵件的python小程序時,運行后在讀取本地一個圖片的地方突然報了打開文件錯誤:
Traceback (most recent call last):
File "D:/python/workspace/demo/emails/send_email.py", line 90, in <module>
sendEmail_file()
File "D:/python/workspace/demo/emails/send_email.py", line 68, in sendEmail_file
with open(r'D:\python\workspace\demo\test.jpg', 'rb') as f:
OSError: [Errno 22] Invalid argument: '\u202aD:\\python\\workspace\\demo\\test.jpg'
仔細檢查代碼發(fā)下沒問題啊,就是很簡單open(file)方法打開文件啊:
with open(r'D:\python\workspace\demo\test.jpg', 'rb') as f:
由報錯信息來看貌似是文件路徑問題, 但我是直接從該圖片文件右鍵屬性里邊復制的文件帶路徑全稱啊,而且加了 r' ' 來避免某些字符轉(zhuǎn)義所以感覺這不應該有問題啊,于是我就試著自己親手打出來了,結(jié)果完美運行,終于找到問題了,我在win10文件資源管理器中通過文件右鍵屬性復制的帶路徑的文件名中,前面 'D:' 的部分貌似有編碼問題,刪了重新在英文輸入狀態(tài)下打出來就沒問題了,具體是什么原因暫時沒搞明白,這里記錄一下,順便給碰巧遇見這個問題的朋友一個小提示。