【问题标题】:Issue with Path Directories in PythonPython中的路径目录问题
【发布时间】: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


【解决方案1】:

首先,您是否将用户名替换为您的帐户名称。 (抱歉,这对某些人来说可能听起来很愚蠢,但我只是想检查一下。)

接下来看看 khelwoods 的评论。我建议您输入路径而不是复制和粘贴。

然后尝试将其更改为 variable = os.listdir("path") 这将列出目录的内容并将该字符串分配给您的变量。

否则我会在 python shell 中尝试这个并在不将其分配给变量的情况下执行此操作,而只是打印它。

祝你好运!

【讨论】:

  • 是的 - 用户名部分只是我实际用户名的替代品,因为我在工作计算机上。我真的不太清楚为什么它看不到我的目录。
猜你喜欢
  • 2011-02-01
  • 2013-02-01
  • 2020-03-13
  • 1970-01-01
  • 2018-04-18
  • 2019-08-26
  • 1970-01-01
  • 2012-09-24
  • 2016-04-07
相关资源
最近更新 更多