Ok langsung saja kita mulai, seperti berikut.
Contoh di bawah ini, kita mencoba untuk membedakan antara file dan directory dengan menggunakan python.
Simpan nama file listdirfile.py
#!/usr/bin/python
import os
os.mkdir("newdir")
for item in os.listdir("."):
- if os.path.isfile(item):
- print item + " is a file"
- elif os.path.isdir(item):
- print item + " is a directory"
- else:
- print "unknown"
Hasil skrinsut nya dari coding di atas sebagai berikut:
Contoh di bawah ini, kita mencoba untuk menampilkan semua file dan juga contoh membuat filter terhadap file yang akan kita tampilkan dengan menggunakan python.
Simpan nama file latglob.py
#!/usr/bin/python
import os
import glob
print "contoh tampil semuanya"
for item in glob.glob(os.path.join(".", "*")):
- print item
for item in glob.glob(os.path.join(".", "*.py")):
- print item
Hasil skrinsut nya dari coding di atas sebagai berikut:
Berikut nya kita belajar untuk clon dari sebuah proses yang kita buat dengan menggunakan python.
Simpan nama file fork-demo.py
#!/usr/bin/python
# fork : clonning a process
import os
def child_process():
- print "I am the child process and my PID is : %d" %os.getpid()
- print "The child is exiting"
- print "I am the parent process with PID is : %d" %os.getpid()
- childpid = os.fork()
- if childpid == 0:
- # we are inside the child
- child_process()
- else:
- # we are inside the parent process
- print "We are inside the parent process"
- print "Our child has the PID : %d" %childpid
- while True:
- pass
Hasil skrinsut nya dari coding di atas sebagai berikut:
Berikut nya kita belajar tentang membuat thread dengan menggunakan python. Contoh coding ini jika di eksekusi, maka akan jalan terus sampai kita menghentikan proses eksekusi nya.
Perhatikan contoh di bawah ini.
Simpan nama file thread1.py
#!/usr/bin/python
import thread
import time
def worker_thread(id):
- print "Thread ID %d now alive!" %id
- count = 1
- while True:
- print "Thread with ID %d has counter value %d" %(id, count)
- time.sleep(2)
- count += 1
- thread.start_new_thread(worker_thread, (i,))
print "Main thread going for a infinite wait loop"
while True:
- pass
Hasil skrinsut nya dari coding di atas sebagai berikut:
Lanjut lagi belajarnya, sekarang kita belajar tentang queue dengan menggunakan python, cara kerja nya kita akan membuat thread sebanyak 3, kemudian kita akan membagi 6 aktifitas ke masing-masing thread tersebut dengan berurutan. Seperti ilustrasi di bawah ini.
1 | 2 | 3
--|---|--
0 | 2 | 3
1 | 5 | 6
4 | |
Perhatikan contoh di bawah ini.
Simpan nama file q1.py
#!/usr/bin/python
import threading
import Queue
import time
class WorkerThread(threading.Thread):
# constructor, parameter awal selalu self
def __init__(self, queue):
threading.Thread.__init__(self)
self.queue = queue
# method run utk menjalankan class nya
def run(self):
print "In WorkerThread"
while True:
counter = self.queue.get()
get_worker = threading.Thread.getName(self)
print "Ordered to sleep for %d seconds on worker %s" %(counter,get_worker)
time.sleep(counter)
print "task %d on worker %s finished" %(counter,get_worker)
self.queue.task_done()
queue = Queue.Queue()
# buat thread pekerja nya
for i in range(1,4):
print "Creating WorkerThread : %d" %i
worker = WorkerThread(queue)
worker.setDaemon(True)
worker.start()
print "WorkerThread %d Created!" %i
# buat aktifitas yg akan di lakukan oleh thread pekerja nya
for j in range(7):
queue.put(j)
queue.join()
time.sleep(0)
print "All tasks over!"
Hasil skrinsut nya dari coding di atas sebagai berikut:
Berikut nya kita belajar untuk memblok Ctrl+C agar program yang kita eksekusi tidak bisa di hentikan dengan menggunakan python :)
Simpan nama file signal1.py
#!/usr/bin/python
import signal
def ctrlc_handler(signum, frm):
print "Haha! you can't kill me!"
print "Installing signal handler...."
signal.signal(signal.SIGINT, ctrlc_handler)
print "Done"
while True:
pass
Hasil skrinsut nya dari coding di atas sebagai berikut:
Berikut nya kita belajar untuk mencoba eksekusi suatu perintah di linux dengan menggunakan python :)
Simpan nama file subprocess1.py
#!/usr/bin/python
import subprocess
subprocess.call(['ps', 'aux'])
subprocess.call(['ls', '-al'])
subprocess.check_output(['ls', '-al'])
lines = subprocess.check_output(['ls'])
print lines
line_list = lines.split('\n')
print line_list
Hasil skrinsut nya dari coding di atas sebagai berikut:
Ok cukup sampe disini dulu belajar nya ;)
Tidak ada komentar:
Posting Komentar