【发布时间】:2014-12-23 08:43:16
【问题描述】:
我正在尝试编写一个安装并打开我的文件夹的 Python 脚本。 但我有“找不到”/media/New Volume”。”错误。 如果我首先安装并运行脚本,它可以工作,打开我的新卷。 但是如果我不安装并运行它,我会得到错误。
sudo python mount.py
我更改的脚本
import os
import subprocess
if os.path.ismount("/media/New Volume"):
subprocess.Popen(["nautilus", "/media/New Volume"])
else:
path = "/media/New Volume"
os.mkdir(path);
subprocess.Popen(["mount","-t","fuseblk","/dev/sda4","/media/New Volume"])
subprocess.Popen(["nautilus", "/media/New Volume"])
【问题讨论】:
-
刚刚检查,您确定目录
/mnt/New Volume已创建,对吗?请记住,mount不会自行创建它。 -
mount命令看起来并不好。语法应该是mount -t <file system type> <device> <directory>。 -
你通常还需要root权限才能挂载
-
最好使用
subprocess.check_call函数,而不是直接构造subprocess.Popen对象。check_call函数将在非零退出代码上引发异常,当您与这样的环境交互时,您将希望处理这些异常情况。它还将等待被调用的进程终止,这是您绝对想要的,因为挂载文件系统可能需要一些时间(以避免 Nautilus 先打开并失败)。 -
老问题,但对于未来的冒险。看看mount.py。