Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Python启动终端并运行命令_Python_Ios_Macos_Terminal_Appium - Fatal编程技术网

通过Python启动终端并运行命令

通过Python启动终端并运行命令,python,ios,macos,terminal,appium,Python,Ios,Macos,Terminal,Appium,我正在编写一个自动化脚本,如果能够通过Python脚本在我的mac上启动终端,以启动Appium服务器,而不是手动启动,那将是一件好事 我最接近的方法是使用以下代码,但这只会启动终端,我无法向其发送命令: from subprocess import Popen, PIPE, STDOUT Popen(['open', '-a', 'Terminal', '-n'], stdout=PIPE, stdin=PIPE, stderr=STDOUT) 我需要能够启动两个终端实例并

我正在编写一个自动化脚本,如果能够通过Python脚本在我的mac上启动终端,以启动Appium服务器,而不是手动启动,那将是一件好事

我最接近的方法是使用以下代码,但这只会启动终端,我无法向其发送命令:

    from subprocess import Popen, PIPE, STDOUT

    Popen(['open', '-a', 'Terminal', '-n'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
我需要能够启动两个终端实例并运行以下程序

  • “阿皮姆”
  • “appium-a 0.0.0-p 4724”

  • 您必须使用
    通信
    将cmd发送到您的终端

     from subprocess import Popen, PIPE, STDOUT
    
        p1 = Popen(['open', '-a', 'Terminal', '-n'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
        p2 = Popen(['open', '-a', 'Terminal', '-n'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
    
        p1.communicate('appium')
        p2.communicate('appium -a 0.0.0.0 -p 4724')
    

    您可以在python中执行shell命令,如下所示:

    import os
    
    os.system('appium &')
    

    这将启动Appium服务器

    已删除我的评论并编写了答案。未向任一终端窗口发送任何内容。终端未启动,我得到“sh:Appium:command not found.”此方法不会启动终端。这只是执行您的命令。是否安装了appium?appium已安装,这将在后台启动appium?我希望能够看到appium的输出,以便进行调试,因此终端需要可见。我可以将此命令与另一个命令一起使用吗?这将显示调试的输出。不需要添加新的终端选项卡。