In this article, we are going to CLI application using Python3. We are going to include the below applications in the menu:
- GOOGLE CHROME
- MS EDGE
- MS WORD
- TELEGRAMopeln
- NOTEPAD++
- and all the applications installed…
Module Needed
AppOpener: It is the python library which helps in opening/closing any application without knowing it’s absolute path. The module works by making use of App name and App Id, It can be installed using the below command:
pip install AppOpener
Below code snippet showcases the use of the above module:
1. Open applications
Here, we aim to open whatsapp, which is installed in our system.
Python3
from AppOpener import open open ( "whatsapp" ) # Opens whatsapp open ( "whatsapp, telegram" ) # Opens whatsapp & telegram |
2. Close applications
Here, we aim to close whatspp, if it is running in forefront or background.
Python3
from AppOpener import close close( "whatsapp" ) # Closes whatsapp close( "telegram, brave" ) # Closes telegram & brave |
3. CLI (Command Line Interface) application (open & close applications)
Python3
from AppOpener import open , close def main(): print () print ( "1. Open <any_name> TO OPEN APPLICATIONS" ) print ( "2. Close <any_name> TO CLOSE APPLICATIONS" ) print () open ( "help" ) print ( "TRY 'OPEN <any_key>'" ) while True : inp = input ( "ENTER APPLICATION TO OPEN / CLOSE: " ).lower() if "close " in inp: app_name = inp.replace( "close " ,"").strip() close(app_name, match_closest = True , output = False ) # App will be close be it matches little bit too (Without printing context (like CLOSING <app_name>)) if "open " in inp: app_name = inp.replace( "open " ,"") open (app_name, match_closest = True ) # App will be open be it matches little bit too if __name__ = = '__main__' : main() |
AppOpener is path independent, that is it is not limited as we manually provide path of application. It covers each and every installed application in windows OS.
You can see full applications of AppOpener [here](https://appopener.readthedocs.io/en/latest/Applications/).
Output:
Making CLI using pyttsx3 (Voice controlled)
You can chat with it or type number of applications to be opened or simply, you can also type software name or its short form like
'Photoshop' -> 'PS'
pyttsx3: It is a text-to-speech conversion library in Python. Unlike alternative libraries, it works offline and is compatible with both Python 2 and 3. An application invokes the pyttsx3.init() factory function to get a reference to a pyttsx3. Engine instance. It is a very easy-to-use tool which converts the entered text into speech. It can be installed using the below command:
pip install pyttsx3
Below code snippet showcases the use of the above module:
Python3
# create object engine = pyttsx3.init() # assign voice voices = engine.getProperty( 'voices' ) # changing index changes voices but only 0 and 1 are working here engine.setProperty( 'voice' , voices[ 1 ]. id ) # run tool engine.runAndWait() print ("") |
os: The OS module in python provides functions for interacting with the operating system. OS, comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality
Below is the program to create an Application Menu using Python
Python3
# import required module import pyttsx3 import os # driver code # create object and assign voice engine = pyttsx3.init() voices = engine.getProperty( 'voices' ) # changing index changes voices but only # 0 and 1 are working here engine.setProperty( 'voice' , voices[ 1 ]. id ) engine.runAndWait() print ("") print ("") # introduction print ( " =============================================== Hello World!! ================================================" ) engine.say( 'Hello World!!' ) print ("") print ( " My name is Divy Shah,I make this tool With this help of tool you can open below things......." ) print ( "\n\t 1.MICROSOFT WORD \t 2.MICROSOFT POWERPOINT \n\t 3.MICROSOFT EXCEL \t 4.GOOGLE CHROME \n\t 5.VLC PLAYER \t 6.ADOBE ILLUSTRATOR \n\t 7.ADOBE PHOTOSHOP \t 8.MICROSOFT EDGE \n\t 9.NOTEPAD \t 10.TELEGRAM \n\n\t\t 0. FOR EXIT" ) print ( "\n (YOU CAN USE NUMBER OR YOU CAN DO CHAT LIKE 'OPEN NOTEBOOK' etc....)" ) print ( "\n ============================================ Welcome To My Tools ============================================" ) pyttsx3.speak( "Welcome to my tools" ) print ("") print ("") pyttsx3.speak( "chat with me with your requirements" ) while True : # take input print ( " CHAT WITH ME WITH YOUR REQUIREMENTS : " , end = '') p = input () p = p.upper() print (p) if ( "DONT" in p) or ( "DON'T" in p) or ( "NOT" in p): pyttsx3.speak( "Type Again" ) print ( "." ) print ( "." ) continue # assignments for different applications in the menu elif ( "GOOGLE" in p) or ( "SEARCH" in p) or ( "WEB BROWSER" in p) or ( "CHROME" in p) or ( "BROWSER" in p) or ( "4" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "GOOGLE CHROME" ) print ( "." ) print ( "." ) os.system( "chrome" ) elif ( "IE" in p) or ( "MSEDGE" in p) or ( "EDGE" in p) or ( "8" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "MICROSOFT EDGE" ) print ( "." ) print ( "." ) os.system( "msedge" ) elif ( "NOTE" in p) or ( "NOTES" in p) or ( "NOTEPAD" in p) or ( "EDITOR" in p) or ( "9" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "NOTEPAD" ) print ( "." ) print ( "." ) os.system( "Notepad" ) elif ( "VLCPLAYER" in p) or ( "PLAYER" in p) or ( "VIDEO PLAYER" in p) or ( "5" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "VLC PLAYER" ) print ( "." ) print ( "." ) os.system( "VLC" ) elif ( "ILLUSTRATOR" in p) or ( "AI" in p) or ( "6" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "ADOBE ILLUSTRATOR" ) print ( "." ) print ( "." ) os.system( "illustrator" ) elif ( "PHOTOSHOP" in p) or ( "PS" in p) or ( "PHOTOSHOP CC" in p) or ( "7" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "ADOBE PHOTOSHOP" ) print ( "." ) print ( "." ) os.system( "photoshop" ) elif ( "TELEGRAM" in p) or ( "TG" in p) or ( "10" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "TELEGRAM" ) print ( "." ) print ( "." ) os.system( "telegram" ) elif ( "EXCEL" in p) or ( "MSEXCEL" in p) or ( "SHEET" in p) or ( "WINEXCEL" in p) or ( "3" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "MICROSOFT EXCEL" ) print ( "." ) print ( "." ) os.system( "excel" ) elif ( "SLIDE" in p) or ( "MSPOWERPOINT" in p) or ( "PPT" in p) or ( "POWERPNT" in p) or ( "2" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "MICROSOFT POWERPOINT" ) print ( "." ) print ( "." ) os.system( "powerpnt" ) elif ( "WORD" in p) or ( "MSWORD" in p) or ( "1" in p): pyttsx3.speak( "Opening" ) pyttsx3.speak( "MICROSOFT WORD" ) print ( "." ) print ( "." ) os.system( "winword" ) # close the program elif ( "EXIT" in p) or ( "QUIT" in p) or ( "CLOSE" in p) or ( "0" in p): pyttsx3.speak( "Exiting" ) break # for invalid input else : pyttsx3.speak(p) print ( "Is Invalid,Please Try Again" ) pyttsx3.speak( "is Invalid,Please try again" ) print ( "." ) print ( "." ) |