Python:我希望将图像作为原始字符串从用户输入!我用input()
来获取路径。将它作为原始字符串使程序运行,我可以通过在路径前附加r来实现,但Image.open(' ')
也将r
作为字符串并产生错误。有人可以帮我解决这个问题。
path=input('Please enter the path of the image')
im=Image.open(path)
在没找到文件的情况下收到错误
如果我给..
y='r'+path
im=Image.open(y)
然后错误是
OSError: [Errno 22] Invalid argument: 'rC:\\Users\\User\\Desktop\.......jpeg'
我是python的新手,所以如果有任何方法可以解决这个问题,请帮助我。
答案 0 :(得分:0)
原始字符串是为了程序员的方便;您不必让您的用户输入原始字符串作为正常输入。
有关问题的解决方案,请参阅本文末尾。因为你说你是Python的新手,所以我决定在这里给出一个详细的答案。
普通字符串为\
(反斜杠)字符赋予特殊含义。这很好,因为\
可以使用\\
(两个反斜杠)来表示单个反斜杠。
然而,这有时会变得丑陋。
例如,考虑路径:C:\Users\Abhishek\test.txt
。要在Python中将其表示为普通字符串,必须转义所有\
:
string = 'C:\\Users\\Abhishek\\test.txt'
您可以使用原始字符串来避免这种情况。原始字符串不会特别处理\
。
string = r'C:\Users\Abhishek\test.txt'
就是这样。这是原始字符串的唯一用途,即方便。
如果您使用的是Python 2,请使用raw_input
代替input
。如果您使用的是Python 3(就像您应该的那样),input
就可以了。 请勿尝试将路径作为原始字符串输入。