[英]Syntax error:unicode error on trying to open image using PIL in Python
我是Python的新手。 我試圖使用Python Pillow打開圖像。
>>> from PIL import Image
>>> im=Image.open("C:\Users\User1\Desktop\map3.jpg")
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
我嘗試單獨使用圖像名稱,但仍然無法正常工作
>>> from PIL import Image
>>> im=Image.open("map3.jpg")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Deepthy\AppData\Local\Programs\Python\Python35-32\lib\site- packages\PIL\Image.py", line 2258, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'map3.jpg'
問題源於Windows的遺留問題。 嘗試以下方法:
im=Image.open("C:/Users/User1/Desktop/map3.jpg")
在Python源代碼中,就像大多數其他語言(包括C,C ++,Java,Javascript,C#,Ruby,Perl和PHP)一樣,反斜杠是轉義字符。 用於指示以下字符具有特殊含義。 在Python的字符串文字中,
\\u\u003c/code> (或
\\U
)開始Unicode轉義序列。 但是,
\\Users
不是有效的Unicode轉義。 \€
類的\€
將是有效的(並且是歐元貨幣符號)。
我說這個問題源於Windows的遺留問題,因為Windows(及其之前的MS-DOS)選擇在路徑中使用反斜杠作為分隔符。 這很不幸,因為反斜杠在程序源代碼中已經具有特殊含義,因此需要轉義它,例如
print("How many do you see \\\\?")
。 或者,即使GUI程序(Explorer,cmd.exe)不接受,Windows API函數也都接受斜杠而不是反斜杠。
您的第二個問題(FileNotFoundError)是正確的:您指定了相對路徑,但是文件在您指定的當前工作目錄中不存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.