Skip to content
Related Articles

Related Articles

Improve Article

Run shell command from GUI using Python

  • Last Updated : 03 Jan, 2021

In this article, we are going to discuss how we can create a GUI window that will take Operating System commands as input and after executing them, displays the output in a pop-up window.

Modules Required:

PyAutoGui: It is a module in python which is used to automate the GUI and controls the mouse and keyboard.  It is an external module, it can be installed in the system using the below command:

Linux:
pip3 install pyautogui
Windows:
pip install pyautogui

OS: The OS module in Python provides functions for interacting with the operating system.This module comes under Python’s standard utility modules. It provides a portable way of using operating system dependent functionality.

Approach:

  • Import modules.
  • Use the prompt() of pyautogui module to take input command
  • Use the system() of os module to execute the command.
  • Finally, call the popen() of os module to generate a pop-up window and then using alert() of pyautogui module to display output.

Implementation:

Below program depicts how to create a window which takes operating system commands as input.

Python3






# import required modules
import os
import pyautogui
  
# prompts message on screen and takes the 
# input command in val variable
val = pyautogui.prompt("Enter Shell Command")
  
# executes the value of val variable
os.system(val)

Output:

However, when commands are entered they are performed in the background. Below is a better version of the above previous python program in which on the execution of the given command, the output is displayed in a popup window.

Python3




# import required modules
import os
import pyautogui
  
# prompts message on screen and gets the command
# value in val variable
value = pyautogui.prompt("Enter Shell Command")
  
# executes the command and returns 
# the output in stream variable
stream = os.popen(value)
  
# reads the output from stream varible
out = stream.read()
pyautogui.alert(out)

Output:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :