在我写的一个程序中,我有这个:
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命令时不会遇到此问题?
答案 0 :(得分:2)
尝试:
SUDO[:-1]
#prints '/usr/bin/sudo'
这对我有用
编辑: 或
SUDO=SUDO.strip()
答案 1 :(得分:2)
os.makedirs(SUDO.strip() + directory)