Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python安装磁盘驱动器_Python_Linux_Ubuntu_Mount - Fatal编程技术网

使用Python安装磁盘驱动器

使用Python安装磁盘驱动器,python,linux,ubuntu,mount,Python,Linux,Ubuntu,Mount,我正在尝试编写一个Python脚本来装载并打开我的文件夹。 但我找不到/媒体/新卷。错误 如果我首先装载并运行脚本,它就会工作,并打开我的新卷。 但如果我不挂载并运行它,就会出现错误 sudo python mount.py 我修改过的剧本 import os import subprocess if os.path.ismount("/media/New Volume"): subprocess.Popen(["nautilus", "/media/New Volume"]) el

我正在尝试编写一个Python脚本来装载并打开我的文件夹。 但我找不到/媒体/新卷。错误 如果我首先装载并运行脚本,它就会工作,并打开我的新卷。 但如果我不挂载并运行它,就会出现错误

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"])

如果您的卷实际上被称为新卷,那么您可能需要考虑将其键入到脚本中作为新的卷来逃避单词之间的空间。否则,linux shell将无法将其识别为已连接路径,并尝试将卷附加到在…之前发出的命令中。

仅检查一下,您确定已创建目录/mnt/新卷,对吗?请记住,mount并不是自己创建的。mount命令看起来并不好。语法应该是mount-t。您通常还需要根权限才能装载。最好使用该函数,而不是直接构造subprocess.Popen对象。check_调用函数将在非零退出代码上引发异常,当您与这样的环境交互时,您将希望处理这些异常情况。它还将等待被调用的进程终止,这是您肯定希望的,因为装载文件系统可能需要时间来避免Nautilus首先打开并失败。看一看。默认情况下,在本例中,shell不处理参数列表,因此任何此类转义都是多余的。如果指定了可选参数shell=True,并且参数是字符串,则这是正确的。感谢您的澄清。我只是习惯于直接在shell中挂载东西,而think call将命令传递给shell。。。