python第三方库subprocess执行cmd同时输入密码获取参数

 更新时间:2024年01月11日 11:46:27   作者:车载testing  
本文给大家介绍python subprocess执行cmd同时输入密码获取参数,手动输入cmd命令,本文给大家逐一介绍这个命令的使用方法,感兴趣的朋友跟随小编一起看看吧

python subprocess执行cmd同时输入密码获取参数

一:手动输入cmd命令

我们再执行命令时需要同时传入密码或其他参数的时候,我们可以使用

echo {password} | adb shell ls /log'

这个命令是一个组合的命令,涉及到 echo、管道 | 和 adb shell ls /log。下面我会逐一解释每个部分:

1. echo {password}:

echo 是一个常用的命令行工具,用于输出一个字符串或变量的内容。
{password} 是一个占位符,通常代表要输出的密码。不过,请注意,直接在命令行中输出密码(尤其是使用 echo)是不安全的,因为这会将密码暴露在命令历史中,也可能被其他用户在进程列表中看到。

2. |:

管道操作符。它的作用是将前一个命令的输出作为下一个命令的输入。

3. adb shell ls /log:

adb 是 Android Debug Bridge 的缩写,它是一个命令行工具,允许你与 Android 设备进行通信。
shell 命令告诉 adb 在 Android 设备上执行一个 shell 命令。
ls /log 是一个 shell 命令,用于列出 /log 目录下的文件和目录。在许多 Android 设备上,这是一个包含系统日志文件的目录。
组合起来,这个命令的意图是:输出密码,然后将这个输出作为 adb shell ls /log 的输入。但实际上,这个命令可能不会按照预期工作,因为 adb shell ls /log 不期望从管道接收密码作为输入。而且,如前所述,直接在命令行中输出密码是不安全的。

二. 万能python三方库subprocess

 def subprocess_run( cmd, cmd_input=None):
        """
        执行 cmd 命令
        """
        if cmd_input is not None:
            # 创建子进程并执行命令
            p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
            input_context = '{}\n'.format(cmd_input).encode('utf-8')
            p.stdin.write(input_context)
            # 获取命令执行结果
            output, error = p.communicate()
            # 使用sub函数去除命令行返回的命令符
            clean_output = re.sub(r'\x1b\[.*?m', '', output.decode('utf-8'))
            return clean_output
    	 else:
            process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            stdout, stderr = process.communicate()
            return stdout.decode(), stderr.decode()

到此这篇关于python subprocess执行cmd同时输入密码获取参数的文章就介绍到这了,更多相关python subprocess执行cmd内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现服务端渲染SSR的示例代码

    Python实现服务端渲染SSR的示例代码

    服务端渲染是一种常见的技术策略,特别是在需要改善网站的搜索引擎优化(SEO)和首屏加载时间的场景下,本文将介绍如何利用 Python 实现 SSR,感兴趣的可以了解下
    2024-02-02
  • Tensorflow tf.tile()的用法实例分析

    Tensorflow tf.tile()的用法实例分析

    这篇文章主要介绍了Tensorflow tf.tile()的用法实例分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python中数组array和列表list的基本用法及区别解析

    python中数组array和列表list的基本用法及区别解析

    大家都知道数组array是同类型数据的有限集合,列表list是一系列按特定顺序排列的元素组成,可以将任何数据放入列表,且其中元素之间没有任何关系,本文介绍python中数组array和列表list的基本用法及区别,感兴趣的朋友一起看看吧
    2022-05-05
  • Python实现的求解最大公约数算法示例

    Python实现的求解最大公约数算法示例

    这篇文章主要介绍了Python实现的求解最大公约数算法,涉及Python数学运算相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解

    Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解

    这篇文章主要介绍了Python发送QQ邮件实例与QQ邮箱设置详解,需要的朋友可以参考下
    2020-02-02
  • Python中日志模块logging的最佳实践指南

    Python中日志模块logging的最佳实践指南

    新手常犯的错误是用print()代替日志记录,当项目规模扩大后,这种做法的弊端立刻显现,下面小编就和大家详细讲讲Python中日志模块logging的具体实践吧
    2025-12-12
  • 使用Async IO在Python中进行异步编程的步骤详解

    使用Async IO在Python中进行异步编程的步骤详解

    许多程序员都熟悉编写顺序(同步)代码,在异步世界中,事件的发生独立于主程序流程,异步编程范例有助于并发执行这些任务,并确保您可以克服等待时间并更有效地使用资源,本文给大家介绍了使用Async IO在Python中进行异步编程,需要的朋友可以参考下
    2023-11-11
  • Python中subprocess介绍及如何使用详细讲解

    Python中subprocess介绍及如何使用详细讲解

    在实际开发过程中,我们经常会遇到需要从Python脚本中调用外部程序或脚本的场景,下面这篇文章主要给大家介绍了关于Python中subprocess介绍及如何使用详细讲解的相关资料,需要的朋友可以参考下
    2024-09-09
  • 详解Python中Addict模块的使用方法

    详解Python中Addict模块的使用方法

    Addit是一个Python模块,除了提供标准的字典语法外,Addit 生成的字典的值既可以使用属性来获取,也可以使用属性进行设置。本文将详细讲讲它的使用方法,需要的可以参考一下
    2022-05-05
  • python怎么对数字进行过滤

    python怎么对数字进行过滤

    在本篇内容中小编给大家整理的是关于python怎么对数字进行过滤的实例方法内容,需要的朋友们可以参考下。
    2020-07-07

最新评论