python调用命令行

发布于 2024-01-10  384 次阅读


使用python来调用命令行

python本来也就是一个脚本语言,和windows中的PowerShell,以及Unix/Linux中的Shell本质上是一类语言,所以使用python调用windows中的命令行就比较方便。

下面的代码使用python执行windows中的命令行的一些例子,比如移动到某个目录,然后执行adb connect 192.168.168.110等命令

在Python中执行Windows命令行操作时,您可以使用subprocess模块。下面我将提供一个例子,展示如何使用Python先切换到指定目录,然后执行adb connect 192.168.168.110等命令。

由于subprocess无法直接更改Python脚本的当前工作目录,您需要先使用Python的os.chdir()方法更改工作目录,然后再执行adb命令。

这里是一个基本的代码示例:

import subprocess
import os

# 更改当前工作目录
desired_path = "C:\\path\\to\\your\\directory"
os.chdir(desired_path)

def run_command(command):
    """执行给定的命令并返回输出"""
    process = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
    return process.stdout, process.stderr

# 连接到ADB设备
connect_output, connect_error = run_command("adb connect 192.168.168.110")
print("Connect Output:", connect_output)
print("Connect Error:", connect_error)

# 列出连接的ADB设备
devices_output, devices_error = run_command("adb devices")
print("Devices Output:", devices_output)
print("Devices Error:", devices_error)

# 在特定位置执行屏幕点击
tap_output, tap_error = run_command("adb shell input tap 1036 300")
print("Tap Output:", tap_output)
print("Tap Error:", tap_error)

在这个例子中:

  1. 使用os.chdir()更改当前目录到您希望的目录。
  2. 使用subprocess.run()执行adb connect命令。
  3. 通过设置stdoutstderr参数来捕获命令的标准输出和错误输出。
  4. 设置shell=True以在shell环境中运行命令。这对于某些命令是必要的,但请注意,这也可能带来安全风险,特别是在执行不受信任的输入时。

请确保您的路径和命令根据您的实际需求进行调整。

  • alipay_img
  • wechat_img
我是小明,喜欢数学和编程
最后更新于 2024-01-10