【问题标题】:FIleNotFoundError: No such file or Directory Ubuntu PythonFIleNotFoundError:没有这样的文件或目录 Ubuntu Python
【发布时间】:2025-12-16 14:40:01
【问题描述】:

我正在尝试从 Python 访问 Ubuntu 中本地磁盘的文件夹和文件。它们位于 /media/{username}/Local Disk{n}/ 中,其中 username 代表电脑的相应用户名,n 代表本地磁盘号。

当我启动我的电脑并在终端中运行 os.listdir("/media/hackytech/Local Disk1") 命令时,我得到了 FileNotFoundError 。 -- BUT 当我以图形方式访问相应的目录时[使用键盘/鼠标的意思],如果是 Local Disk1 并且当我尝试运行相同的命令 os .listdir(/media/hackytech/Local Disk1) 我得到了预期的结果。

我太糊涂了,当至少一次以图形方式[使用键盘/鼠标的含义]访问时,相同的路径仍然有效。但是当它未被访问并尝试使用 os.listdir() 列出目录时,它会引发错误。

我附上了两张图片以便清楚理解。

这是在以图形方式访问相应目录之前[使用键盘/鼠标的含义]

这是在以图形方式访问各个目录之后[使用键盘/鼠标的含义]

【问题讨论】:

  • 它不在您尚未访问的网络驱动器上,因此在手动导航到它之前无法找到它,是吗?如果我在单击驱动器的根目录之前尝试直接单击快捷方式,有时会在 Windows 上发生这种情况
  • 当您从 GUI 访问该目录时,您的图形文件管理器 (nautilus?) 可能会挂载该目录,从而使其可用。如果没有挂载 os.listdir 就无法列出它。您可以通过在从 GUI 访问目录之前和之后运行 mount 命令并比较差异来确认这一点。
  • @askman 是的,我遇到了同样的问题
  • @abhijat 有道理,非常感谢您的回复,将尝试运行mount
  • 这几乎可以肯定是其他人建议的安装问题。您可以通过重新启动 PC、打开终端窗口(shell)然后尝试使用 ls 来将 Python 与问题隔离开来

标签: python ubuntu operating-system


【解决方案1】:

感谢abhijat 我明白了确切的问题。问题在于挂载,当第一次启动 PC 时,操作系统不会挂载本地磁盘或任何其他目录,直到您使用 GUI 访问该目录。

根据我的研究,当您使用 GUI 访问这些本地磁盘或任何其他目录时,默认情况下它们会挂载在 /media/{username}/{Directory Name}/ 路径上。 p>

如果您希望在启动 PC 时自动安装,请按照以下步骤操作

  1. 首先获取相应目录的 UUID(通用唯一标识符),您可以通过在终端中键入以下命令来执行此操作 blkid 看起来像这样。

  2. 然后使用gedit /etc/fstab/命令编辑fstab文件

  3. 如果我们考虑为dev/sdb5/ 进行自动挂载,那么这将是此目录UUID=DEF68028F67FFED1 /media/hacktech/Local Disk4 ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0 的编辑

  4. 保存文件并退出。

  5. 第三点的命令对于不同的文件系统是不同的,例如 ext4、ext3、nfts 等。所以请检查您正在应用自动挂载的文件系统并使用相应的命令

这应该可以完成这项工作,因为它对我有用。 如果还是不明白,请访问this post

如果以上信息有误,请告知我,我将立即删除此答案,我不完全了解 UBUNTU 的工作原理,但经过一些研究后,我了解到了这一点

【讨论】:

    最近更新 更多