2013-05-30 81 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發出shell命令時不會遇到這個問題?

+3

嘗試'os.makedirs(須藤+ directory.strip()) ' – karthikr

+1

不會剝奪目錄的結尾而不是sudo?我仍然收到同樣的錯誤。 –

+1

ok,然後做'SUDO.strip()' – karthikr

回答

2

嘗試:

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

爲我工作

編輯: 或

SUDO=SUDO.strip() 
+0

謝謝!這也適用於我。 –

2

os.makedirs(SUDO.strip() + directory)