Python is widely used for various purposes, from writing websites’ backends to machine learning algorithms. Some use IDEs like Pycharm to code in Python, some use Visual Studio Code’s extension, and some just use the terminal. Each way of running the Python code is perfectly acceptable but everyone should understand how to run python files in the terminal.
Why run a Python file in a terminal?
A terminal or command-line interface is a text-based interface through which one can perform commands using the operating system’s shell. MacOS and Linux operating systems have Terminals and Windows has Command Prompt.
Running python code through the terminal is the simplest and the most fundamental way one can run programs. Learning how to do that will allow them to understand how the process actually works. Not just that, this knowledge is essential for automation. Automating tasks and scripts requires a good understanding of the terminal.
Terminals can also be used in cases of debugging. Some IDEs do not show the full error output and that could lead to a lot of confusion about where the code is going wrong. Running the same code in a terminal, you can read the entire error and understand the error message to make changes to the code, essentially debugging the code.
Running python files in the terminal also provides more flexibility and control compared to using an IDE, because you can easily modify the arguments passed to the script and execute it from anywhere.
Let us now look at how to do that.
How to run a Python file in a terminal?
Before we get into the step-by-step process, let us first ensure that python is accessible through the terminal. This can be done by just opening the terminal, as explained later in Step 1, and entering the command ‘python’. That should open an interactive python environment that looks something like this:
$ python
Output:
Python 3.9.12 (main, Apr 5 2022, 06:56:58) [GCC 7.5.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>>
If this does not happen, that means python is not installed properly. Try reinstalling Python. To exit the interactive python environment, enter the following command or function:
>>> exit()
Running a python file in a terminal is a straightforward and simple process. The following step-by-step guide should help you run go through it:
- Open the terminal: In Windows, it’s called Command Prompt. You can open Command Prompt by searching it in the start menu or by searching ‘cmd’ instead. Powershell technically has the same exact functionality too. On macOS or Linux, you can open the terminal by searching “Terminal” in Spotlight or in the applications menu.
- Navigate to Directory: Once the terminal or the command prompt is open, the next step is to navigate to the directory of the python file. You can do that with the command ‘cd’ followed by the file directory. If the path of the file directory is “C:/User/Documents/PythonPrograms”, you can enter cd C:/User/Documents/PythonPrograms.
- Run File in Folder: Now you have to run the python file in the folder. That can be done with the python command or the python3 command depending on the version of python you are using. The python or python3 command followed by the full file name with the file extension will run the python file in the terminal. For example, enter ‘python main.py’ or ‘python3 main.py’ in the terminal.
- Pass Arguments: If your python script requires arguments, the arguments can be passed after the ‘python main.py’. For example, if you have to pass two arguments, say arg1 and arg2, then you have to enter the following command, ‘python main.py argument1 arg2’ or ‘python3 main.py arg1 arg2’.
So, you have successfully run your python script through the terminal. With this knowledge, you can now automate your tasks through the terminal. Here’s an example of a script that you can run in a terminal and it will essentially automate a daily task.
Automating a task through the terminal
Take an example of this simple script that opens Gmail every morning at 10:00 AM.
python: gmail_script.py
import schedule import webbrowser def open_gmail(): Url = 'https:mail.google.com' webbrowser.open(url) schedule.every().day.at("10:00").do(open_gmail) while True: schedule.run_pending() time.sleep(1)
You can run this in the terminal with the command “python gmail_script.py” and it will run the file until the terminal is closed and the system is shut down.
Also, learn how to schedule scripts with a task scheduler on windows.
Conclusion
With a simple command, we have unlocked a whole new way for python. Running a Python file in a terminal is valuable because it can help you automate tasks but can also help you debug your code and gain more control over executing scripts.