Python Programming controls
The flow of program will be controlled with conditional statements where this flow
- if condition
- if-else condition
- if-elif condition
- while loop
- while - else loop
- for loop
- for with if- else loop
if condition
Here I would like to work on program control statements, wherein relate some operating system functionalities so that, this would give some basic prototype for the sys admin scripts.#!/usr/bin/python # This illustrate if condition # Filename : ifex.py import os d=os.listdir('/home/pavanbsd/pybin') print d f='ifex.py' if f in d: print "File exists" else: print "Not found..."
if-elif-else ladder
No worries, coming soon...When you need the task that need to be done repeatedly then your choice is using loops. Python provides two simple loop constructs easy to use! More powerful then other scripting compare to, it has 'else' block.
while loop
Understand the power of while loop, which would check the condition for every iteration completion.#!/usr/bin/python # This is to illustrate while loop # print 0-10 numbers i=0 sum=0 while i<=10: print i sum=sum+i i+=1 print "after a while, sum of 0-10:", sumExecution of the above script
:~/pybin$ ./while1.py 0 1 2 3 4 5 6 7 8 9 10 after a while, sum of 0-10:55combine the above all logical constructs we can make a menu driven script
#!/usr/bin/python import os, sys print "System monitoring" while True: print "c-CPU utilization\nm-Mem utilization\nd-Disk space\n" ch=raw_input('Enter your choice(q-quit):') if ch=='c': print "cpu load" os.system("uptime") elif ch=='m': print "free -m" os.system("free -m") elif ch=='d': print "df -h" os.system("df -hT") elif ch=='q': print "Exiting loop" break else: print "invalid choice"execution of the above example
:~/pybin$ ./menu.py System monitoring c-CPU utilization m-Mem utilization d-Disk space Enter your choice(q-quit):c cpu load 08:16:49 up 1:14, 2 users, load average: 0.17, 0.12, 0.14 c-CPU utilization m-Mem utilization d-Disk space Enter your choice(q-quit):m free -m total used free shared buffers cached Mem: 3500 288 3212 0 42 129 -/+ buffers/cache: 116 3383 Swap: 1021 0 1021 c-CPU utilization m-Mem utilization d-Disk space Enter your choice(q-quit):d df -h df: `/var/lib/lightdm/.gvfs': Permission denied Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 6.8G 4.7G 1.9G 72% / udev devtmpfs 1.8G 4.0K 1.8G 1% /dev tmpfs tmpfs 701M 780K 700M 1% /run none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 1.8G 144K 1.8G 1% /run/shm /dev/sdb5 ext4 21G 44M 20G 1% /tmp /dev/sdc1 ext4 9.8G 23M 9.2G 1% /app c-CPU utilization m-Mem utilization d-Disk space Enter your choice(q-quit):q Exiting loop