Python Dosya İşlemleri

Dosya Oluşturma

Python’da dosya oluşturmak için ;

log_file=open(“logfile.log”,”w”)

Bunu çalıştırdığınızda hangi dizin altındaysanız o dizin altına logfile.log dosyasının oluşturulduğunu görceksiniz.

Dosyayı oluştururken illa dizine gidip orda oluşturmanız gerekmiyor,

Pythonla bunu halledebilirsiniz:

log_file=open(“C:/logdosyam/logs/logfile.log”,”w”) şeklinde yazarsak o dizinin altında logfile.log dosyasını oluşturur.

Dizin belirtirken ya / ya da \\ kullanın. Çünkü \ kullanırsanız Python bunu kaçış sekansı olarak algılayabilir.

Örneğin

log_file=open(“c:\apache\http\logs\bla\bla\bla”,”w”)

Python \apache den dolayı \a yı kaçış sekansı olarak algılayacaktır.

 

Dosyaya Yazmak

Dosyaya yazmak ise oluşturduğumuz dosyayı write metoduyla kullanıyoruz.

Şöyle ki ;

Yukarda log_file oluşturmuştuk

log_file.write(“asdadadada”)

dediğimiz zaman bu dosyaya asdadadada yazmış oluyoruz.

Python ile Asal sayi kontrolü

#!/usr/bin/env python
#-*-coding: cp1254 -*-

def AsalKontrol(sayi):
if sayi%2==0:
return False
for deger in range(3,sayi,1):
if sayi%deger==0:
return False
break
return True
secim=int(input(“Seciminiz:”))
while True:
if secim==1:
print(“Bir sayinin asal olup olmadigini kontrol etmek istiyorsunuz?”)
sorgu=int(input(“Sayi:”))
if AsalKontrol(sorgu)==True:
print(“Girdiginiz sayi asal sayidir”)
break
else:
print(“Girdiginiz sayi asal degildir”)
break
elif secim==2:
print(“Belirli bir aralıktaki asal sayilarin listesini almak istiyorsunuz?”)
baslangic=int(input(“Baslangic degerlerini giriniz:”))
bitis=int(input(“Bitis degerlerini giriniz:”))
AsalListe=[]
for sayilar in range(baslangic,bitis,1):
if AsalKontrol(sayilar)==True:
AsalListe.append(sayilar)
print(“Asal sayi listesi:”,AsalListe)
break
elif str(secim) not in”012″:
continue
else:
pass
print(“Program sona eriyor…”)

 

Copy-paste programın sağlığına zararlıdır.Onun için hepsini aynı hizada yazdım, siz direk elinizle yazın diye:)

Windows üzerinde MongoDB kurulumu

MongoDB sitesinden işletim sisteminize göre(64bit, 32bit) olan sürümü indirin. Kurulumu yapacağınız yeri belirleyin. Ben kendi bilgisayarımda C:\ sürücüsünü kullanmayı uygun gördüm. C:\ sürücüsü üzerinde MongoDB adında bir dizin oluşturup içerisine verilerin ve log kayıtlarının atacağı dizinleri şu şekilde belirliyoruz.mongodwindowsmongodb   

MondoDB içerisine logs ve data dizinlerini biz oluşturuyoruz. Ardından logs dizini içerisine mongolog.txt adında bir metin dosyası oluşturuyoruz. Bu dosyaya log kayıtları atılacak.

Artık kuruluma hazırız. Başlat -> cmd yazarak “komut istemini” sağ tılayarak yönetici modunda çalıştırıyoruz. Yönetici olarak çalıştırmazssak kurulum sırasında log dosyasına yetki sorunu oluştuğuna dair kayıtlar atılacaktır.

Komut sistemine kurulum için gerekli komutu giriyoruz.

windowsmongodb2

Yukardaki komut satırını yazdıktan sonra aşağıdaki gibi successful hitabını göreceğiz.

Bundan sonra mongodb’yi servislerden bulup çalıştırmak olacak.

Çalışıp çalışmadığını görmek içinse localhost:28017 yazarsak browserımıza :

windowsmongodb3

bu ekranla karşılaşacağız.

iyi çalışmalar.

 

Pratik Eclipse Kısayolları

Muhtemelen çoğunu biliyorsunuzdur ama ben yine de aralarından bilmedikleriniz çıkabilir diye çok sık kullandığım Eclipse kısayollarını paylaşayım dedim. Kısayollarla aranız henüz iyi değilse kısayolları öğrenmenizi ve kullanmaya çalışmanızı şiddetle tavsiye ederim zira işlerinizi çok kolaylaştırıyorlar.

CTRL + 1

Quick Fix. Bunu öğrendikten sonra bana göre en mübarek Eclipse Kısayolu.

CTRL + SHIFT + R

Open Resource: İsmini yazacağınız kaynak dosyasını açar.

CTRL + SHIFT + T

Open Type: İsmini yazacağınız türü açar.

CTRL + D

Üzerinizde bulunduğunuz satırı siler. Tek tuşla ov şit.

CTRL + E

Açık olan editörleri listeler. Onlarca sınıfa aynı anda göz atıyorsanız sınıflar arasında hızlıca geçiş yapabilirsiniz.

CTRL + I

Girintilemeyi düzeltir.

CTRL + M

Maximize / Unmaximize. Bulunduğunuz alanı genişletir, genişletilmiş halde ise küçültür.

CTRL + Delete / Ctrl + Backspace

İmlecin sağındaki / solundaki kelimeyi siler. Otomatik tamamlayıcıyı fazla kullanıyorsanız yararlı olabiliyor.

CTRL + L

Numarasını vereceğiniz satıra atlar.

SHIFT + CTRL + UP / SHIFT + CTRL + DOWN

Sonraki / önceki sınıf üyesine sıçrar. Az sayıda metodunuz falan varsa bir metoddan diğer metoda hızlıca geçmek için kullanabilirsiniz. Ben kullanıyorum zira.

ALT + UP / ALT + DOWN

İmlecin o anda bulunduğu satırı ya da seçtiğiniz satırları aşağı yukarı kaydırır. Kod bloklarının yerini kolayca değiştirebilirsiniz. Lazım olduğu zaman çok kullanışlı oluyor.

F3

Tanıma git. İmlecin üzerinde bulunduğu öğenin tanımına gider. Bir niteliğin adının üstünde iseniz niteliğe, bir sınıf adının üstünde iseniz sınıfın kaynak koduna gider.

SHIFT + ALT + J

Sınıf / Metod başlarına Javadoc yorumları ekler.

SHIFT + CTRL + C

Seçili kod bloğunu yorum satırı haline getirir. Daha önce yorum satırı yapılmış kod bloğunu normal hale getirir.

SHIFT + CTRL + O

Import’ları düzenler. Gereksiz import’ları kaldırır. Eklenmesi gereken import’ları ekler. Bazen kullandığınız bir sınıf adı birden fazla paketin altında bulunabilir. Böyle bir durumda SHIFT + CTRL + O dediğinizde size hangisini ekleyeceğinizi de sorar.

SHIFT + CTRL + F

Yazdığınız kodun stilini düzeltir. Yani girintileri, boşlukları, noktanın virgülün vesairenin konumlarını ayarlar (Girinti şu kadar olsun, noktadan sonra boşluk olsun gibi ayarları Preferences’ten yapabilirsiniz).

SHIFT + CTRL + B

İmlecin olduğu satıra breakpoint koyar. Koyulmuş bir breakpointi kaldırır.

CTRL + N

Files > New yoluyla gelen pencereyi açar.

SHIFT + ALT + M

Seçili kod bloğunu yeni bir metod tanımlayıp içerisine yerleştirir.

Bilmemenin değil öğrenmemenin ayıp olduğu Debug kısayolları:

F11

Debug’ı başlatır.

F5 (Step into)

Debug yaparken bir metod tanımında iseniz işletime o çağrının içinden devam eder ve bazı durumlarda metodun içinde neler olup bittiğine bakmanız gerekiyorsa çok yararlı olur.

F6 (Step Over)

Bir sonraki komutu işletir.

F8 (Resume)

Bir sonraki breakpoint’e kadar olan komutları tek seferde işletir.

Ayrıca Windows > Preferences > General > Keys yoluna giderek kısayolları düzenleyebilirsiniz. Örneğin ben ekstradan şu kısayolları da kullanıyorum:

CTRL + SHIFT + N

Yeni sınıf tanımlama penceresi açar (Keys bölümünde New Class seçeneğiyle ayarlanıyor).

CTRL + SHIFT + I

Yeni interface tanımlama penceresi açar (Keys bölümünde New Interface seçeneğiyle ayarlanıyor).

Asp.net Mail Kontrolü

2 şekilde kontrol yapmış kodun sahibi.2. kontrol hakikâten çok hoş.

 

mail gecerli formatta ise false
değilse true döndururprivate bool ValidateEmail()
{
string email = TextBox7.Text;
Regex regex = new Regex(@”^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$”);
Match match = regex.Match(email);
if (match.Success)
return false;
else
return true;
}
 
Bunlara hic gerek yok
regex ne icin koyuyorsun acaba icin de @ işareti var mı acaba şu mu acaba bu mu
ona buna gerek yok o performansa yazık sadece  “@” iceriyormu diye bak yeteradam sahtekarlık yaparsan xadasdasdassa@sada.com  yapar senin reqex işe yaramaz
o kadar performansa yazık
sen zaten adama onay maili göndereceksin mail gecersiz ise kendisi bilir
sadece @ işareti var mı yada sadece  nokta karakteri var mı kontrolu yeterli
private bool ValidateEmail()
{
if (TextBox7.Text.contains(“@”))
return false;
else
return true;
}
 

AdsByCouponDropDown Reklamlarına Dikkat

Sık sık ziyaret ettiğiniz FACEBOOK sayfalarında fazlaca sayısıyla dikkat çeken reklamlar görmeye mi başladınız? Dikkatli olun bilgisayarınıza farklı amaçlar için yüklediğiniz bazı eklentiler ile haksız kazanç elde edenler sebebiyle bu reklamları görüyor olabilirsiniz. FACEBOOK içerisinde tüm gönderiler, zaman tünelleri, fan sayfaları, şirket sayfaları vb. sayfalarda gönderilerin arasında çok fazla sayıda görülen bu reklamların en dikkat çekici özelliği alt kısımlarında “Ads by CouponDropDown” yazması.

FACEBOOK dışında başka internet sitelerinde de görülen bu reklamlar web sitesinin yayıncısı olduğu reklam networklerini tanıyarak o reklamların yanına kendi reklamını yerleştirebiliyor. Özellikle girdiğiniz sayfada tasarım olarak bozukluğa sebep olan bir reklam var ise; örneğin web sitesi yayıncıları uzun dik reklamları yan yana yerleştirerek görsel bir bütünlük oluşturmak ister; fakat girdiğiniz sayfada iki sütunlu bir reklam bloğunda bir sütunda üst üste iki adet reklam ve diğer bir sütunda tek bir reklam duruyor ve bozuk bir görsellik dikkat çekiyorsa ve yine reklam altlarında “Ads by CouponDropDown” yazıyorsa farklı bir amaçla yüklediğiniz bir tarayıcı (eklentisi özellikle Chrome eklentileri) sebebiyle bu reklamlar size gösteriliyor demektir.

Çözüm için ;

Daha farklı eklentiler de benzer bir duruma sebep olabilir fakat bizim tespit ettiğimiz eklenti; FaceBook Zoom Extension.Bu eklentiyi devre dışı bırakarak gösterilen reklamları da devre dışı bırakabilirsiniz. Eklentiyi devre dışı bırakmak için;Mozilla’da direk Firefox yazısının üzerinden eklentiler deyip o eklentiyi etkisizleştir ya da kaldır diyerek devre dışı bırakıyoruz. Chrome den – Menü – Araçlar – Uzantılar ‘a girip FBPHOTOZOOM uzantısının yanındaki check işaretini kaldırarak devre dışı bırakıyoruz. Bunun yanında aynı ekranda göreceğiniz diğer uzantılar (eklentiler) içerisinde yüklediğinizi hatırlamadığınız/kullanmadığınız uzantılar da var ise onları da devredışı bırakın.
Hatta daha da iyisi çöp tenekesi simgesini kullanarak silin. Böylece kullanmadığınız eklentilerden kaynaklanan sorunları ve internet hızınızdaki yavaşlamaları önlemiş olursunuz.

Netbeans için Kısayol Oluşturma

Hepimiz kod yazarken pratikler olsun isteriz.Örneğin java ‘ da System.out.println(“”)yazmak yerine sout yazıp taba basarız.

Bunu kendimiz de yaratabiliriz.Örneğin ben try yazıp tab a bastığımda try{} catch{} finally{} bloklarını getiriyorum.

Tools->Options-> Editor ->Code Templates -> Language:Java ->New

İyi çalışmalar.

Java ile Dosya Açma

Java ile dosya açmak çok basit.2 satır koddan ibaret.Bunun için Swing’in JOptionPane componentini kullanacağız.

swing’i eklemek için

import javax.swing.JOptionPane;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package openfile;

import java.io.IOException;
import javax.swing.JOptionPane;
/**
*
* @author umitunal
*/
public class OpenFile {
public static void main(String[] args) {
try{
Runtime.getRuntime().exec(“notepad C:/sda/text.txt”);

}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
finally{}
}
}