【发布时间】:2020-02-22 08:27:28
【问题描述】:
我正在加载一个目录,其中包含我要处理的一堆图像。我正在使用 Azure Notebooks,并且通过右键单击 + 选择“属性”正确复制了目录,所以我认为这与我选择路径的方式无关。这是我迄今为止尝试过的:
import os
data_dir = 'C:\Users\User Name\Downloads\cell_image'
这是路径的直接副本,但它返回以下语法错误:(unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXXXX escape
然后我尝试通过将 r 放在字符串前面来转换字符串(并通过手动将转义 \ 字符添加到字符串中的反斜杠),并且都返回了如下所示的错误。
import os
data_dir = r'C:\Users\User Name\Downloads\cell_image'
os.listdir(data_dir)
这将返回以下错误:没有这样的文件或目录:'C:\Users\User Name\Downloads\cell_image'
关于如何解决这个问题的任何想法?它阻止我加载我的数据,所以你能提供的任何帮助都会很棒。谢谢!
【问题讨论】:
-
如果您从 Windows 属性窗口复制路径,它可能包含不可见的字符,会弄乱路径。把
print(repr(data_dir))放到你的程序里看看有没有什么奇怪的地方。 -
我刚试过——我得到的路径是'C:\\Users\\User Name\\Downloads\\cell_image'。
-
乍一看并不奇怪,它只是有转义字符。对可能出了什么问题有任何想法吗?
-
如果不是这样,那么路径一定是错误的。您可以依次尝试每个部分以找到问题,因此尝试
'C:/Users'然后'C:/Users/User Name'等,直到找到不起作用的部分。 (我假设您将User Name替换为您的实际用户名。) -
顺便说一句,使用正斜杠比使用反斜杠更容易。
标签: python import syntax directory