folder Tahribat.com Forumları
linefolder Python
linefolder [Python] Ufak Tefek Fonksiyonlar



[Python] Ufak Tefek Fonksiyonlar

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    bazı şeyleri tekrar tekrar uzun uzadıya yazmak istemediğim için ufaktan kendi fonksiyonlarımı yazmaya başladım.

    belki başkalarının da işine yarar düşüncesiyle paylaşalım, ortam oluşturalım istedim.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    Fonksiyon tanımlama örneği:

    def fonksiyon(parametre1, parametre2):
    	print parametre1,parametre2
    
    def fonksiyon2():
    	print "merhaba gotu boklu"

    Fonksiyon kullanım örnekleri:

    fonksiyon("Kekeme tercuman","is basinda")
    fonksiyon2()

    Sayfanın HTML kodunu alma:

    def html_kodunu_al(url):
    	import urllib2
    	return(urllib2.urlopen(url).read())
    
    html_kodunu_al("http://tahribat.com")

    Program çalıştırma:

    def program_calistir(run)
    	import os
    	os.system(run)
    
    program_calistir("notepad.exe")
    

     Anlık tarihi veren (YIL-AY-GÜN-SAAT-DAKİKA-SANİYE):

    def tarih_al():
    	import datetime
    	now = datetime.datetime.now()
    	return(now.strftime("%Y-%m-%d-%H-%M-%S"))
    
    print tarih_al()

    Log tutma (tarihli şekilde):

    def log_olustur(dosya_adi,yazi):
    	import datetime
    	now = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
    	with open (dosya_adi, 'a') as f: f.write (now+"  "+yazi+'\n')
    	
    log_olustur("log.txt","Program baslatildi")

     Youtube playlist'in tüm linklerini almak:

    def get_youtube_playlist(url):
    	import urllib2,re
    	output = ""
    	data = urllib2.urlopen(url).read().replace("'", '"')
    	s = re.findall(r'data-video-id="(.*?)"', data);
    	for x in range(0, len(s)):
    		if output != "":
    			output = output + "\n"
    		output = output + "http://youtube.com/watch?v=" + s[x]
    	return(output)
    
    print get_youtube_playlist("http://www.youtube.com/watch?v=_U-tLn6Acno&list=PLPPCjdJO1OwHtxRldCRTNMhhe1BNkNoZd")

     Hafızaya alınan metni çağırma:

    def get_clipboard():
    	from Tkinter import Tk
    	return(Tk().clipboard_get())
    	
    print get_clipboard()

     Gereksiz satırları (boş satırlar) sil:

    def gereksiz_satir_sil(satirlar):
    	import re
    	return( re.sub(r'(^[\r\n]*)|([\r\n]*\Z)','',re.sub(r'([\r\n]+)+',r'\n',satirlar)) )
    	
    print gereksiz_satir_sil ("\nsatir1\n\n\n\n\nsatir2\n")

    Yandex.Drive dosyasının ismini alma:

    def get_yandex_title(url):
    	EM_DASH = u'\u2014'
    	try:
    		import urllib2, re
    		py = 2
    	except:
    		import urllib.request, re
    		py = 3
    	if py == 2:
    		data = urllib2.urlopen(url).read().decode('utf-8')
    		ob = re.search("<title>(.*)</title>", data)
    		return ob.group(1).split(" "+EM_DASH)[0]
    	if py == 3:
    		data = str(urllib.request.urlopen(url).read(),'utf-8')
    		ob = re.search("<title>(.*)</title>", data)
    		return ob.group(1).split(" "+EM_DASH)[0]
    	
    print(get_yandex_title("https://disk.yandex.com.tr/public/?hash=yVwUovtPATev7A%2BbVUn5lHFJx94ZVTHbZLLT2isblNw%3D"))
    

     

    Programın kurulu olup olmadığını kontrol et (daha ziyade linux için, path'leri kontrol eder)

    def which(program):
        import os
        def is_exe(fpath):
            return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
        fpath, fname = os.path.split(program)
        if fpath:
            if is_exe(program):
                return program
        else:
            for path in os.environ["PATH"].split(os.pathsep):
                path = path.strip('"')
                exe_file = os.path.join(path, program)
                if is_exe(exe_file):
                    return exe_file
        return None
    	
    if which('nano'): print('nano kurulu')
    if which('cmd.exe'): print('cmd.exe kurulu')
    

    Random sayı üreten kod:

    def random_sayi(alt,ust):
    	import random
    	return( random.randrange(alt,ust) )
    	
    print (random_sayi(1,10))

     

    .

     

    YekteranBaymedir tarafından 04/Kas/13 23:47 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PHP-SEO Developer
    Erdem
    Erdem's avatar
    Kayıt Tarihi: 04/Haziran/2002
    Erkek

    geyet güzel yapmışsın, takipdeyim konuyu dağıtmadan güzel bir arşiv ortaya çıkabilir.

     


    Php for SEO nun ardından Php for Gcode (CNC)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Böcüklerin Efendisi
    krypt
    krypt's avatar
    Kayıt Tarihi: 05/Mart/2004
    Erkek

    Fonksiyon her çağrıldığında kütüphaneleri tekrar import etmek bir porblem teşkil etmiyor mu?


    while (1<2)
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo
    KrypT bunu yazdı

    Fonksiyon her çağrıldığında kütüphaneleri tekrar import etmek bir porblem teşkil etmiyor mu?

    bunu ben de düşündüm, tek problemi anlık ram kullanımı artıp tekrar azalacaktır diye düşünüyorum teoride.

    ya mantığını biliyorsan zaten al importu başa koy, ama böyle de çok farkedeceğini sanmam sadece biraz performans düşüklüğü olabilir

    büyük projelerde, ufak tefek şeyde no problemo

    edit: demek istediğin tekrar tekrar çağırınca hata verir mi? ise vereceğini sanmıyorum çünkü

    fonksiyonların içinde kullanılan/yaratılan şeyler fonksiyon bitince siliniyor olması lazım(local)

    -----

    ayrıca başka kişilerden de katılım bekliyorum güzel bir havuz oluşturabiliriz

    YekteranBaymedir tarafından 24/Eki/13 18:29 tarihinde düzenlenmiştir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    halat
    halat's avatar
    Kayıt Tarihi: 14/Aralık/2009
    Erkek

    Takipteyim.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Twitter
    Twitter's avatar
    Kayıt Tarihi: 13/Ekim/2007
    Erkek

    Helal olsun hocam diğer müritlerde buradan kendi fonksiyonlarına paylaşırsa tadından yinmez.

    Birazda autoit ile ilgili paylaşım yapsan iyi olacak :)


    Tbt Dersimliler Derneği Başkanı :)
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo
    Twitter bunu yazdı

    Helal olsun hocam diğer müritlerde buradan kendi fonksiyonlarına paylaşırsa tadından yinmez.

    Birazda autoit ile ilgili paylaşım yapsan iyi olacak :)

    hacı autoit diğer diller gibi değil, yardım dosyası aşırı sağlam (ingilizcen var ise)

    yardım dosyasını hatim etsen çoğu yerde takılmazsın, ben başka bi dilde regex öğrenmeye kalksam hayatta öğrenemezdim.

    ayrıca autoit forumlarında da biraz takılsan çok güzel kodlar / konular / fikirler var.

     

    autoit'i ne için öğrenmek istiyorsun bilmiyorum ama daha sağlam dillere yönelmeni öneririm.

    ben autoit'i adı üstünde işlerimi otomatikleştirmek için kullanıyorum hobi amaçlı artık.

    python'a yönelmemin sebebi linux'e de aşırı ilgi duyuyorum server'lar falan.

    bi python script'i yaz her yerde çalışsın, php server'a entegre ederek çalış veya git direk python ile websitesi tasarla :)

     

     

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    up olsun, piton bilenleri konuya davet ediyorum

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo
    KrypT bunu yazdı

    Fonksiyon her çağrıldığında kütüphaneleri tekrar import etmek bir porblem teşkil etmiyor mu?

    başka bir şey ararken tesadüf eseri sorunun yanıtını buldum, buyrunuz:

    What Does Python Do to Import a Module?

    When Python imports a module, it first checks the module registry (sys.modules) to see if the module is already imported. If that’s the case, Python uses the existing module object as is.

    Otherwise, Python does something like this:

    1. Create a new, empty module object (this is essentially a dictionary)
    2. Insert that module object in the sys.modules dictionary
    3. Load the module code object (if necessary, compile the module first)
    4. Execute the module code object in the new module’s namespace. All variables assigned by the code will be available via the module object.

    This means that it’s fairly cheap to import an already imported module; Python just has to look the module name up in a dictionary.

     

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    up olsun katılım bekliyorum

Toplam Hit: 3273 Toplam Mesaj: 25