В настоящее время я пишу скрипт для клиента.Подпроцесс Python Call с переменными
Этот скрипт читается из файла конфигурации. Некоторые из этих сведений затем хранятся в переменных.
Затем я хочу использовать subprocess.call выполнить команда монтирования Таким образом, я использую эти переменные для создания команды монтирования
call("mount -t cifs //%s/%s %s -o username=%s" % (shareServer, cifsShare, mountPoint, shareUser))
Однако это не работает
Traceback (most recent call last):
File "mount_execute.py", line 50, in <module>
main()
File "mount_execute.py", line 47, in main
call("mount -t cifs //%s/%s %s -o username=%s" % (shareServer, cifsShare, mountPoint, shareUser))
File "/usr/lib64/python2.6/subprocess.py", line 470, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.6/subprocess.py", line 623, in __init__
errread, errwrite)
File "/usr/lib64/python2.6/subprocess.py", line 1141, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
ПОСТРОЕНИЯ команда сначала с
mountCommand = 'mount -t cifs //%s/%s %s -o username=%s' % (shareServer, cifsShare, mountPoint, shareUser)
call(mountCommand)
также приводит к тому же ошибка.
'вызов ([ 'монтирования', '-t', 'CIFS', '//% s /% s' % (shareServer, cifsShare), MOUNTPOINT, '-o',«имя пользователя =% s '% shareUser]) ' –
Связанный вопрос имеет ответ, который технически работает, но небезопасен и не должен использоваться. Следовательно, я не считаю целесообразным отмечать этот вопрос как дубликат на том основании, что на другой уже был дан ответ. Ответ Чарльза Даффи ниже. – user3553031