Çogu programcının istiyebileceği bir konudur esasında. Bilgisayar dillerinin birbirleri ile uyum içinde çalışması. Evet konumuz Python ile .Net platformunun güzide :) dillerinden olan C# ın beraber çalışması. Bu nasıl mı olacak? C# ile yazdığımız bir programımızdan *.py script ini çalıştıracağız ve Python dosyamızın çıktılarını yine C# içinde göreceğiz. Bu iş için elinizde Python veya C# editörünüz yoksa ilgili linklerden indirebilirsiniz.
Download Python 3.1.2
C# Download
## Unutmadan söyliyeyim. Bu yapacağımız işlemler .Net içerisinde bulunan IronPython ile denenmemiştir. ##
# Guido van Rossum tarafından yazılan Python için anlatılmaktadır. #
Yapacağımız işlemleri sıra ile anlatıyorum. Sıra numarasına sadık kalırsanız hatasız bir şekilde programımızı tamamlayabiliriz.
Python Editörümüzü açıp içerisinde
< print("Hello C# and Python:)") > satırından ibaret bir py dosyası oluşturuyoruz. Eger bu noktada sıkıntı yaşarsanız "Visual Tkinter" programını kurabilirsiniz. Donload Visual Tkinter . Bu dosyamızın isminide olarak verelim.
Python dosyamızı içrisine kaydedersek şu an için daha iyi olur. Şimdi de Visual Studio yu açıp menümüzden seçeneğini seçerek C# projemizi oluşturalım. Formumuza 1 Button ve 1 RichTextBox koyalım.
Button muza clikleyerek ilgili metodun açılmasını sağlayalım. daha sonra içerisine şu kodları yazıyoruz.
using System.Diagnostics; // Process sınıfımızın tanımlandığı kütüphane
//Button fonksiyonun içerisine;
Process p = new Process(); // Yeni nesne yarat...
p.StartInfo.UseShellExecute = false; // Shell kullanma...
p.StartInfo.RedirectStandardOutput = true; // Çıkışı yönlendir....
p.StartInfo.FileName = "c:\\python26\\python.exe"; // Python klasörümüz ve derleyicimizin adı...
p.StartInfo.Arguments = "c:\\python26\\Hello_C_Python.py"; // verilecek yani çalıştırılacak python scriptimizin yolu...
p.Start(); // işlemeye başla...
string output = p.StandardOutput.ReadToEnd(); // çıkışı sakla
p.WaitForExit(); // çıkış için zaman tanıyalım :)
return output; // ve mutlu son işte sonuç :)
Mutlu son demişmiydik. Evet söylemiştik. Bu program için 2 gün tırmaladım ama deydi doğrusu. İşin sırrınıda çözdüm esasında. Sır mı? Sır satırınd a gizli. :) Bekleyen derviş muradına gerçekten ermiş mi?
Hoşça kalın...
Kaynaklar :
http://codemagnet.blogspot.com
http://www.daniweb.com/
http://msdn.microsoft.com/
http://www.python.org/
http://uzaktanegitimmerkezi.org/
0 Yorumlar
Merhaba,