我是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'
答案 0 :(得分:0)
问题源于Windows&#39;遗产。试试这个:
x1->x2->x3->x4->x5->x1
在Python源代码中,就像在大多数其他语言中一样,包括C,C ++,Java,Javascript,C#,Ruby,Perl和PHP,反斜杠是一个转义字符。它用于表示以下字符具有特殊含义。在Python中的字符串文字中,im=Image.open("C:/Users/User1/Desktop/map3.jpg")
(或\u
)开始Unicode转义序列。但是,\U
不是有效的Unicode转义。像\Users
这样的东西是有效的(并且是欧元货币符号)。
我说问题源于Windows&#39;遗留因为Windows(以及之前的MS-DOS)选择使用反斜杠作为路径中的分隔符。这很不幸,因为反斜杠已经在程序源代码中具有特殊含义,因此需要对其进行转义,例如\u20ac
。或者,Windows API函数都接受斜杠而不是反斜杠,即使GUI程序(Explorer,cmd.exe)没有。
您的第二个问题(FileNotFoundError)是正确的:您指定了一个相对路径,但该文件在您指定的当前工作目录中不存在。