<tfoot id='wnB8Q'></tfoot>
<i id='wnB8Q'><tr id='wnB8Q'><dt id='wnB8Q'><q id='wnB8Q'><span id='wnB8Q'><b id='wnB8Q'><form id='wnB8Q'><ins id='wnB8Q'></ins><ul id='wnB8Q'></ul><sub id='wnB8Q'></sub></form><legend id='wnB8Q'></legend><bdo id='wnB8Q'><pre id='wnB8Q'><center id='wnB8Q'></center></pre></bdo></b><th id='wnB8Q'></th></span></q></dt></tr></i><div id='wnB8Q'><tfoot id='wnB8Q'></tfoot><dl id='wnB8Q'><fieldset id='wnB8Q'></fieldset></dl></div>
      <legend id='wnB8Q'><style id='wnB8Q'><dir id='wnB8Q'><q id='wnB8Q'></q></dir></style></legend>

      <small id='wnB8Q'></small><noframes id='wnB8Q'>

          <bdo id='wnB8Q'></bdo><ul id='wnB8Q'></ul>

      1. 使用 subprocess.call 时如何输入 sudo 密码?

        时间:2023-07-21

          <legend id='7ViAS'><style id='7ViAS'><dir id='7ViAS'><q id='7ViAS'></q></dir></style></legend>

          <small id='7ViAS'></small><noframes id='7ViAS'>

              <tbody id='7ViAS'></tbody>

                <bdo id='7ViAS'></bdo><ul id='7ViAS'></ul>

                • <tfoot id='7ViAS'></tfoot>

                  <i id='7ViAS'><tr id='7ViAS'><dt id='7ViAS'><q id='7ViAS'><span id='7ViAS'><b id='7ViAS'><form id='7ViAS'><ins id='7ViAS'></ins><ul id='7ViAS'></ul><sub id='7ViAS'></sub></form><legend id='7ViAS'></legend><bdo id='7ViAS'><pre id='7ViAS'><center id='7ViAS'></center></pre></bdo></b><th id='7ViAS'></th></span></q></dt></tr></i><div id='7ViAS'><tfoot id='7ViAS'></tfoot><dl id='7ViAS'><fieldset id='7ViAS'></fieldset></dl></div>

                  本文介绍了使用 subprocess.call 时如何输入 sudo 密码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我定义了一个不时切换代理设置的函数,问题是我希望它在没有人工干预的情况下循环运行.但是当我在 sudo 中执行程序时,它第一次被调用 en 运行顺利,第二次它要求我输入我的 sudo 密码.这是一段代码:

                  i defined a function that switch my proxy settings every now and then, problem is that i want it to run in a loop without manual intervention. But when i execute the program in sudo it gets called the first time en runs smoothly, second time it asks me for my sudo password. Here is the bit of code:

                  def ProxySetting(Proxy):
                      print "ProxyStetting(Proxy)"
                      call("networksetup -setwebproxy 'Wi-Fi' %s" "on" % Proxy, shell = True)
                      call("networksetup -setsecurewebproxy 'Wi-Fi' %s" "on" % Proxy, shell = True)
                      call("networksetup -setftpproxy 'Wi-Fi' %s" "on" %Proxy , shell=True)
                  

                  我可以使用线程,但我确信有一种方法不会导致问题.如何对我的 sudo 密码进行硬编码,使其在函数开头运行?

                  I could use threading but am sure there is a way of doing it that wont cause problems. How can i hard code my sudo password so that it runs at the beginning of the function?

                  推荐答案

                  在这里你可以执行一个命令 sudo 没有交互式提示要求你输入密码:

                  Here you can execute a command sudo without interactive prompt asking you to type your password :

                  from subprocess import call    
                  
                  pwd='my password'
                  cmd='ls'
                  
                  call('echo {} | sudo -S {}'.format(pwd, cmd), shell=True)
                  

                  这篇关于使用 subprocess.call 时如何输入 sudo 密码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:从 python 脚本运行 C# 应用程序 下一篇:从子程序到 pyQT Widget 的标准输出的实时输出

                  相关文章

                • <i id='szEMF'><tr id='szEMF'><dt id='szEMF'><q id='szEMF'><span id='szEMF'><b id='szEMF'><form id='szEMF'><ins id='szEMF'></ins><ul id='szEMF'></ul><sub id='szEMF'></sub></form><legend id='szEMF'></legend><bdo id='szEMF'><pre id='szEMF'><center id='szEMF'></center></pre></bdo></b><th id='szEMF'></th></span></q></dt></tr></i><div id='szEMF'><tfoot id='szEMF'></tfoot><dl id='szEMF'><fieldset id='szEMF'></fieldset></dl></div>
                    <bdo id='szEMF'></bdo><ul id='szEMF'></ul>
                  1. <small id='szEMF'></small><noframes id='szEMF'>

                    <tfoot id='szEMF'></tfoot>

                  2. <legend id='szEMF'><style id='szEMF'><dir id='szEMF'><q id='szEMF'></q></dir></style></legend>