【问题标题】:Python Popen - how to execute commands in nested sub shell using pythonPython Popen - 如何使用 python 在嵌套子 shell 中执行命令
【发布时间】:2017-10-06 07:23:26
【问题描述】:

“我在 python 的嵌套 adb 子 shell 中执行命令时遇到问题。在 adb shell 中执行“command_two”会在命令行中打开一个子控制台(控制台等待输入)。我如何执行命令(输入控制台)在该控制台中使用 python。

代码:

     R = subprocess.Popen('adb shell', stdin=subprocess.PIPE)
     R.communicate('command_one\ncommand_two\n)

【问题讨论】:

  • 您可以尝试将命令分成communicate的3个调用并在它们之间插入暂停并尝试为Popen添加shell=True参数
  • 您的意思是:R.communicate('command_one'') R.communicate('command_two') R.communicate('command_three) 以及如何在它们之间添加暂停。 @RomanMindlin

标签: python subprocess


【解决方案1】:

请试试这个:

import time

R = subprocess.Popen('adb shell', shell=True, stdin=subprocess.PIPE)
R.communicate('command_one\n')
time.sleep(2)
R.communicate('command_two\n')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2019-12-20
    相关资源
    最近更新 更多