Python:命令后的新行字符

时间:2013-05-30 18:21:28

标签: python newline sudo

在我写的一个程序中,我有这个:

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命令时不会遇到此问题?

2 个答案:

答案 0 :(得分:2)

尝试:

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

这对我有用

编辑: 或

SUDO=SUDO.strip()

答案 1 :(得分:2)

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