进入sudo user,运行几个命令,回到Python脚本中的普通用户

2024-06-10 04:29:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到的问题是,我想暂时进入sudo用户,运行几个命令,然后返回到一个普通用户并以该模式运行命令。在

你可以在这里找到我要用到的脚本:https://github.com/Greduan/dotfiles/blob/master/scripts/symlinks.py

基本上,当我在dotfiles的/bin文件夹下安装脚本时,我需要sudo访问权限才能创建到该文件夹的符号链接。您可以在代码的最后一个for语句下找到脚本的这一部分。在

但是,由于我确实依赖一些使用当前用户作为指导方针的命令来完成任务,所以我不能仅仅以sudo的形式运行整个脚本。上次我试了一下,发现一个文件夹不存在,有很多错误。在

谢谢你的帮助。在


Tags: 用户https命令githubmaster脚本文件夹com
2条回答

如果您不介意安装一个外部依赖项,^{} module使其非常简单:

import sh

sh.cp('foo.txt', 'bar.txt')

with sh.sudo:
    sh.cp('foo2.txt', 'bar2.txt')

最后,我尝试了@Blender的解决方案,但它不起作用,或者我无法解决它。在

所以我做了以下的事情:

subprocess.Popen('sudo rm ' + final_dest, shell=True)

以及:

^{pr2}$

这是正确的,正如我预期的那样,它没有额外的依赖性。谢谢你的回答@搅拌机,但对我没用。|

相关问题 更多 >