2016-04-26 3 views
0

Мне нужен подпроцесс в моем скрипте для подключения к 3G. Но, к несчастью, это вызывает у меня много ошибок. Поэтому я надеялся, что кто-то может мне помочь.sudo ./sakis3g не найден Подпроцесс Python

Мой код:

import subprocess 
import time 

subprocess.run('sudo ./sakis3g connect OTHER="USBMODEM" USBMODEM="12d1:1001" APN="internet"', shell=True) 

Когда я запускаю этот простой скрипт в моем домашнем каталоге я получаю следующее сообщение об ошибке: Sudo: ./sakis3g: команда не найдена

Это возможно потому, что sakis3g сам скрипт находится в/usr/local/bin. Любая помощь будет оценена, спасибо заранее

ответ

1

I run this simple script in my home directory

./ означает текущий каталог т.е. домашней директории в этом случае.

Is it maybe because the sakis3g script itself it located in /usr/local/bin

/usr/local/bin это (вероятно) не ваш домашний каталог. sudo не может найти sakis3g в текущем каталоге, потому что такого файла нет.

Использовать /usr/local/bin/sakis3g вместо ./sakis3g.

0

Скопируйте этот файл saskis3g в свой каталог, где у вас есть код, и вы можете напрямую использовать эту команду, не включая путь к файлу объекта (i.e sakis3g) в вашей команде соединения.

если у вас есть папка с именем sample. и ваша программа находится в этой папке, затем скопируйте + вставьте объектный файл sakis3g в эту папку [вы можете сделать это, используя команду CP в linux] и используйте обычную команду, то есть «system (« sudo ./sakis3g connect »); нет необходимости в каком-либо пути.