2013-05-30 4 views
0

В программе я пишу я это:Python: символ новой строки после команды

SUDOPATH = subprocess.Popen(['which', 'sudo'], stdout=subprocess.PIPE) 
SUDO = SUDOPATH.stdout.read() 

Но если я попытаюсь сделать это:

os.makedirs(SUDO + directory) 

Это дает мне ошибку:

OSError: [Errno 13] Permission denied: '/usr/bin/sudo\n' 

Как мне удалить новый символ строки, чтобы я не столкнулся с этой проблемой при выдаче команд оболочки из Python?

+3

попробовать 'os.makedirs (SUDO + directory.strip()) ' – karthikr

+1

Разве это не удалит конец каталога, а не sudo? Я все еще получаю ту же ошибку. –

+1

ОК, затем выполните 'SUDO.strip()' – karthikr

ответ

2

Try:

SUDO[:-1] 
#prints '/usr/bin/sudo' 

Это работало для меня

EDIT: или

SUDO=SUDO.strip() 
+0

Спасибо! Это также сработало для меня. –

Смежные вопросы