最近我在 Ubuntu 20.04 上安装了一个 2TB 的 USB 驱动器,并将一些文件复制到了它上面。现在我想在 Python 程序中读取这些文件,但我无法获取新驱动器的路径。
该驱动器为/dev/sda1
,其安装在/mnt/ssk2TB
。我有一个 USB 密钥,上面有文件,其路径为/media/mpxt/A_MEDIA
。在 中,/media/mpxt
我还有一个新 2TB 驱动器的条目,为/media/mpxt/6e9ee7e7-17af-4501-94aa-ffe6bb90c192
。
Lsblk
确认:
sda 8:0 0 1.8T 0 disk
└─sda1 8:1 0 1.8T 0 part /media/mpxt/6e9ee7e7-17af-4501-94aa-ffe6bb
还,
ls -l /dev/disk/by-uuid
表示其 UUID 为:
6e9ee7e7-17af-4501-94aa-ffe6bb90c192
,匹配。
我将其用作路径:
fname = "/media/mpxt/6e9ee7e7-17-af-4501-94aa-ffe6bb90c192/Test_Data/Audit_Python/Python_Results"
testdata_fname = open(fname, 'rb')
我收到此错误信息:
`FileNotFoundError: [Errno 2] No such file or directory: '/media/mpxt/6e9ee7e7-17af-4501-94aa-ffe6bb90c192/Test_Data/Audit_Python/Python_Results`
我可以cd /media/mpxt/6e9ee7e7-17af-4501-94aa-ffe6bb90c192/Test_Data/Audit_Python
获取文件列表。那么为什么我不能使用该路径打开文件呢?
我该使用什么作为上面描述的 USB 驱动器的路径?
谢谢你的帮助。
答案1
请尝试以下操作:
步骤 1:卸载ssk2TB
从您创建的挂载点卸载外部驱动器:/mnt/ssk2TB
。打开终端并输入:
sudo unmount /mnt/ssk2TB
如果分区已安装,此命令将不返回任何内容。如果分区未安装(或之前已卸载),您将看到一条错误消息:
umount: /mnt/ssk2TB: not mounted
/mnt/ssk2TB
卸载分区后,请确保其中没有文件或文件夹。如果卸载分区后有文件/文件夹/dev/sda1
,则意味着它们是在未安装分区时错误地放置在那里的。
如果需要的话,可以ssk2TB
从里面删除该文件夹。/mnt/
步骤 2:从 GUI 卸载并移除 USB
使用 GUI(使用 Files/Nautilus 应用程序的桌面)“弹出”/dev/sda1
安装在挂载点的外部驱动器/media/mpxt/6e9ee7e7-17af-4501-94aa-ffe6bb90c192
。
等待通知提示可以安全移除驱动器。
从计算机上物理拔下(移除) USB 驱动器。
检查文件夹是否/media/mpxt/6e9ee7e7-17af-4501-94aa-ffe6bb90c192
仍然存在,以及其中是否有文件。如果此文件夹中有文件,则它们是被错误地放在那里的。
6e9ee7e7-17af-4501-94aa-ffe6bb90c192
从 中删除文件夹/media/mpxt/
。如果未连接 USB 驱动器,则此文件夹不应存在。
步骤 3 重新开始
插入 USB 驱动器(将其插入)。计算机应识别它并自动将其安装在 下/media/<Your Username>
。例如/media/mpxt/6e9ee7e7-17af-4501-94aa-ffe6bb90c192
。
现在您应该能够以用户身份访问 USB 驱动器内的文件和文件夹mpxt
。如果您尝试以其他用户身份访问这些文件,您可能会被拒绝权限。
文件名和扩展名很重要(在 Python 中)
Ubuntu(一般为 Linux)不太在意文件扩展名。您可以命名二进制文件而不使用扩展名,例如Python_Results
。Ubuntu 并不在意。
然而,在 Python 中这很重要。将文件重命名Python_Results
为Python_Results.bin
可能会有帮助。
请注意,在 Linux 中文件名区分大小写。因此Python_Results
和python_results
是两个不同的文件。
希望这可以帮助