learn python programming and scripting in linux indiancyberdude

Getting Started with Python Programming and Scripting in Linux – Part 1

To enhance your career prospects in system administration, it’s crucial to have expertise in a scripting language, as per the demands of many recruitment agencies. Although Bash and other Linux shells are commonly used for running command-line scripts, Python, a potent language, can offer numerous advantages.

To begin with, Python allows us to access the tools of the command-line environment and to make use of Object Oriented Programming features (more on this later in this article).

On top of it, learning Python can boost your career in the fields of creating desktop applications and learning data science.

Python is a popular programming language among first-year computer science students in the United States, thanks to its ease of learning and widespread use. Additionally, Python’s abundance of readily available modules, which are external files containing pre-written Python code, make it an attractive choice for beginners.

In this 2-article series, we will review the fundamentals of Python in hopes that you will find it useful as a springboard to get you started with programming and as a quick reference guide afterward.

That said, let’s get started.

Install Python on Linux

Python versions 2.x and 3.x are usually available in most modern Linux distributions out of the box. You can enter a Python shell by typing python or python3 in your terminal emulator and exit with quit():

$ which python
$ which python3
$ python -v
$ python3 -v
$ python
>>> quit()
$ python3
>>> quit()
Running Python Commands on Linux
Running Python Commands on Linux

If you want to discard Python 2.x and use 3.x instead when you type python, you can modify the corresponding symbolic links as follows:

$ sudo rm /usr/bin/python 
$ cd /usr/bin
$ ln -s python3.2 python # Choose the Python 3.x binary here
Remove Python 2 and Use Python 3
Remove Python 2 and Use Python 3

By the way, it is important to note that although versions 2.x are still used, they are not actively maintained. For that reason, you may want to consider switching to 3.x as indicated above. Since there are some syntax differences between 2.x and 3.x, we will focus on the latter in this series.

To install Python 3.x on your respective Linux distributions, run:

$ sudo apt install python3         [On Debian, Ubuntu and Mint]
$ sudo yum install python3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a dev-lang/python   [On Gentoo Linux]
$ sudo apk add python3             [On Alpine Linux]
$ sudo pacman -S python3           [On Arch Linux]
$ sudo zypper install python3      [On OpenSUSE]    

Install Python IDLE on Linux

Another way you can use Python in Linux is through the IDLE (the Python Integrated Development Environment), a graphical user interface for writing Python code.

$ sudo apt install idle         [On Debian, Ubuntu and Mint]
$ sudo yum install idle         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo apk add idle             [On Alpine Linux]
$ sudo pacman -S idle           [On Arch Linux]
$ sudo zypper install idle      [On OpenSUSE]    

Once installed, you will see the following screen after launching the IDLE. While it resembles the Python shell, you can do more with the IDLE than with the shell.

For example, you can:

1. open external files easily (File → Open).

Python Shell
Python Shell

2) copy (Ctrl + C) and paste (Ctrl + V) text, 3) find and replace text, 4) show possible completions (a feature known as Intellisense or Autocompletion in other IDEs), 5) change the font type and size, and much more.

On top of this, you can use IDLE to create desktop applications.

Since we will not be developing a desktop application in this 2-article series, feel free to choose between the IDLE and the Python shell to follow the examples.

Do Basic Operations with Python on Linux

As is to be expected, you can perform arithmetic operations (feel free to use as many parentheses as needed to perform all the operations you want!) and manipulate text strings very easily with Python.

You can also assign the results of operations to variables and display them on the screen. A handy feature in Python is concatenation – just supply the values of variables and/or strings in a comma-delimited list (inside parentheses) to the print function and it will return the sentence composed by the items in the sequence:

>>> a = 5
>>> b = 8
>>> x = b / a
>>> x
>>> print(b, "divided by", a, "equals", x)

Note that you can mix variables of different types (numbers, strings, booleans, etc) and once you have assigned a value to a variable you can change the data type without problems later (for this reason Python is said to be a dynamically typed language).

If you attempt to do this in a statically typed language (such as Java or C#), an error will be thrown.

Learn Python Basic Operations
Learn Python Basic Operations

A Brief Comment About Object-Oriented Programming

In Object Oriented Programming (OOP), all entities in a program are represented as objects and thus they can interact with others. As such, they have properties and most of them can perform actions (known as methods).

For example, let’s suppose we want to create a dog object. Some of the possible properties are color, breed, age, etc, whereas some of the actions a dog can perform are bark(), eat(), sleep(), and many others.

Methods names, as you can see, are followed by a set of parentheses which may (or may not) contain one (or more) arguments (values that are passed to the method).

Let’s illustrate these concepts with one of the basic object types in Python: lists.

Illustrating Methods and Properties of Objects: Lists in Python

A list is an ordered group of items, which do not necessarily have to be all of the same data types. To create an empty list named rockBands, use a pair of square brackets as follows:

To append an item to the end of the list, pass the item to the append() method as follows:

>>> rockBands = []
>>> rockBands.append("The Beatles")
>>> rockBands.append("Pink Floyd")
>>> rockBands.append("The Rolling Stones")

To remove an item from the list, we can pass the specific element to the remove() method, or the position of the element (count starts at zero) in the list to pop().

In other words, we can use either of the following options to remove “The Beatles” from the list:

>>> rockBands.remove("The Beatles")
>>> rockBands.pop(0)

You can display the list of available methods for an object by pressing Ctrl + Space once you’ve typed the name followed by a dot:

List Available Python Methods
List Available Python Methods

A property of a list object is the number of items it contains. It is actually called length and is invoked by passing the list as an argument to the len built-in function (by the way, the print statement, which we exemplified earlier-, is another Python built-in function).

If you type len followed by opening parentheses in the IDLE, you will see the default syntax of the function:

Python len Function
Python len Function

Now, what about the individual items on the list? Do they have methods and properties as well? The answer is yes. For example, you can convert a string item to uppercase and get the number of characters it contains as follows:

>>> rockBands[0].upper()
>>> len(rockBands[0])

In this article, we have provided a brief introduction to Python, its command-line shell, and the IDLE, and demonstrated how to perform arithmetic calculations, how to store values in variables, how to print back those values to the screen (either on its own or as part of a concatenation), and explained through a practical example what are the methods and properties of an object.

In the next article, we will discuss control flow with conditionals and loops. We will also demonstrate how to use what we have learned to write a script to help us in our sysadmin tasks.

Does Python sound like something you would like to learn more about? Stay tuned for the second part in this series (where among other things we will combine the bounties of Python and command-line tools in a script), and also consider buying the best udemy python courses to upgrade your knowledge.

As always, you can count on us if you have any questions about this article. Just send us a message using the contact form below and we will get back to you as soon as possible.