Python: Call an external command
External Command Runner
Write a Python program that calls an external command.
Sample Solution-1:
Python Code:
# Import the 'call' function from the 'subprocess' module.
from subprocess import call
# Use the 'call' function to execute the "ls -l" command.
# This command lists the files and directories in the current directory with details.
call(["ls", "-l"])
Sample Output:
drwxrwxr-x 2 students students 4096 Sep 15 2016 c48d5200-7b43-11e6-b7e4-2516b8e1f7f8 drwxrwxr-x 2 students students 4096 Sep 21 2016 c4a96850-7fdf-11e6-a2b3-172481646809 drwxrwxr-x 2 students students 4096 Sep 7 2016 c4d98410-74de-11e6-ac36-65f2f75d0c7b drwxrwxr-x 2 students students 4096 Sep 6 2016 c4fa6e10-7424-11e6-812c-5574d751e2d7 drwxrwxr-x 2 prashanta prashanta 4096 Feb 20 18:24 c5216400-f76b-11e6-8ad1-9b7f6e755728 ------- -rw-rw-r-- 1 students students 27 Sep 28 2016 temp.txt -rw-rw-r-- 1 students students 27 Sep 28 2016 test.txt
Explanation:
In Python The subprocess module allows us to spawn new processes, connect to their input/output/error pipes, and obtain their return codes. This module intends to replace several older modules and functions:
The above Python code uses the ‘subprocess’ module to execute a command in the shell. Then, it calls the call function from the subprocess module with a list of arguments as its parameter.
When the call function is executed, it will execute the specified command in the shell and wait for it to complete before returning.
So, when the above code is executed, it will print the long format list of files in the current directory on the console output, just like running the ls -l command directly in the terminal.
Sample Solution-2:
Python Code:
# Import the 'os' module to work with the operating system.
import os
# Use 'os.system(command)' to execute the 'ls -l' command in the system's shell.
# This command lists the files and directories in the current directory and prints the result.
print(os.system('ls -l'))
Sample Output:
total 4 -rw-rw-rw- 1 root root 36 Jun 9 10:47 main.py 0
Explanation:
The ‘OS’ module provides a portable way of using operating system dependent functionality.
The above Python code imports the os module and then calls its system function to execute a shell command.
When the system function is called, it executes the specified command in the shell. In this case, the command is ls -l, which is executed in the shell.
Finally, the code calls print() function to output the return value of the system function.
Sample Solution-3:
Python Code:
# Import the 'psutil' module for system monitoring, including CPU information.
import psutil
# Use 'psutil.cpu_count()' to get the number of available CPU cores.
# This function returns the number of logical CPU cores in the system.
print(psutil.cpu_count())
Sample Output:
4
Explanation:
psutil (process and system utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors) in Python. It is useful mainly for system monitoring, profiling and limiting process resources and management of running processes.
In the above Python code we first import the ‘psutil’ module and then calls its cpu_count() function to get the number of CPU cores on the current system.
When the cpu_count() function is called, it returns the number of CPU cores on the system. Finally the code calls print() function to output the number of CPU cores on the system to the console output.
Python Code Editor:
Previous: Write a Python program to locate Python site-packages.
Next: Write a python program to get the path and name of the file that is currently executing.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics