Python命令行调用和答案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python命令行调用和答案相关的知识,希望对你有一定的参考价值。

我试图在我的虚拟机上使用python中的Gitpython,但由于sudo和拒绝权限等而挣扎。所以我想尝试不同的方法。当我写sudo git时,首先要求我输入密码,然后输入git用户名,然后输入git密码,我现在要做的是在python中预装某些os.system中的那些。这是我迄今为止所取得的成就:

os.system("echo <password> | sudo -S git pull")

这解决了sudo密码的第一个问题。但是,如何为命令行返回的问题预先填写答案?

答案

如何为命令行返回的问题预填充答案?

通过避免必须预先填充任何东西。

这意味着,作为root,您应该能够执行git pull而无需输入用户名/密码。 如果你可以在命令行中以root身份执行此操作,那么您将能够在Python os.system("echo <password> | sudo -S git pull")调用中使其工作。

为了那个原因:

1 /首先在远程URL本身中设置用户名

cd /path/to/repo
git remote -v
  https://aserver/auser/arepo
git remote set-url origin https://username@aserver/auser/arepo

2 /使用credential helper(以root身份完成)以便Git自己查找密码(而不是您必须尝试将其提供给命令行)。

一旦它作为root工作,在Python程序中重复相同的git pull(作为root运行)

以上是关于Python命令行调用和答案的主要内容,如果未能解决你的问题,请参考以下文章

如何使用python 执行命令行传入的代码

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li

命令行python和jupyter笔记本使用两个不同版本的手电筒

如何使用Jupyter单元调用python命令行程序

如何创建片段以重复变量编号中的代码行

java基础3-重载+命令行传参+递归+数组+排序