Open notepad and type text using Python

To open Notepad and type text in it using Python, you can use the subprocess module to open Notepad and pyautogui to simulate typing.

Here’s how to do it.

Code

import subprocess
import pyautogui
import time

# Function to open Notepad and type text
def open_notepad_and_type(text):
    # Open Notepad using subprocess
    subprocess.Popen("notepad.exe")
    
    # Wait a moment for Notepad to open
    time.sleep(2)
    
    # Type the specified text into Notepad
    pyautogui.typewrite(text, interval=0.1)

# Text to type in Notepad
text = "Hello, this is a test text written by PyAutoGUI!"

# Open Notepad and type the text
open_notepad_and_type(text)

Explanation of the Code

  1. Import Libraries:
    • subprocess: Allows you to open applications like Notepad from within Python.
    • pyautogui: Simulates keyboard typing to enter text into applications.
    • time: Provides a delay to ensure Notepad is fully open before typing begins.
  2. Define open_notepad_and_type() Function:
    • This function opens Notepad and types the specified text.
    • Open Notepad:
      • subprocess.Popen(“notepad.exe”): Launches Notepad using the Popen function, which opens it without waiting for it to close.
    • Delay to Allow Notepad to Open:
      • time.sleep(2): Pauses for 2 seconds to ensure Notepad has opened and is ready for input. Adjust this if your system needs more or less time.
    • Type the Text:
      • pyautogui.typewrite(text, interval=0.1): Types the text in Notepad with a delay of 0.1 seconds between each character to simulate natural typing speed.
  3. Define the Text:
    • text = “Hello, this is a test text written by PyAutoGUI!”: This variable holds the text you want to type in Notepad.
  4. Call the Function:
    • open_notepad_and_type(text): Calls the function to open Notepad and type the specified text.

Important Notes

  • Adjusting the Delay:
    • The time.sleep(2) delay allows time for Notepad to open. If Notepad opens faster or slower on your system, you may need to adjust this delay.
  • Typing Speed:
    • The interval=0.1 parameter in pyautogui.typewrite() controls typing speed. Increasing it slows down typing; decreasing it speeds up typing.

Requirements

Make sure to install pyautogui:

pip install pyautogui

Summary

This script uses subprocess to open Notepad and pyautogui to simulate typing.

By running this script, Notepad will open, and the text will automatically be typed in the Notepad window.

This is useful for automating tasks that involve typing in simple text applications.

Related posts

BMI and BMR calculator using Tkinter

A Python program that generates a random password

a Python GUI-based random quote generator