Как смонтировать сетевой каталог с помощью Python?

Я должен смонтировать каталог "dir" на сетевой машине "данные" с помощью Python на машине Linux

Я знаю, что могу отправить команду через командную строку:

mkdir ~/mnt/data_dir
mount -t data:/dir/ ~/mnt/data_dir

но как я отправил бы те команды от сценария Python?

9
задан deft_code 3 March 2011 в 18:35
поделиться

2 ответа

Вот один способ:

import os

os.cmd ("mkdir ~/mnt/data_dir mount -t data:/dir/ /mnt/data_dir")

Вы также можете использовать "popen", если хотите прочитать вывод команды в ваш сценарий.

HIH

... richie

2
ответ дан 4 December 2019 в 10:32
поделиться

Пример использования модуля subprocess:

import subprocess

subprocess.Popen(["mkdir", "~/mnt/data_dir", "mount", "-t", "data:/dir/", "/mnt/data_dir"])

ИЛИ

import subprocess

subprocess.Popen("mkdir ~/mnt/data_dir mount -t data:/dir/ /mnt/data_dir", shell=True)

Вторая версия использует shell для выполнения команды. Хотя он более читабелен и прост в использовании в большинстве ситуаций, его следует избегать при передаче аргументов, введенных пользователем, так как это может привести к инъекции shell (т.е. выполнению других команд, кроме mkdir в данном случае).

2
ответ дан 4 December 2019 в 10:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: