Python'u, PHP gibi Kullanmak?

Merhaba arkadaşlar,

Bir Python dosyasını açıtığımda, içindeki HTML’li, -aynı PyDoc modülündeki gibi- tarayıcıda açmasını istiyorum. Ama bunu yaparken her hangi bir html dosyası oluşturmasın. Yani kısacası bir .py dosyasını .php dosyası gibi kullanmak istiyorum.

Bu yapılabilirmi?

Şimdiden teşekkür ederim :slight_smile:

Bunlar benim yapmak istediğim şeyi karşılamıyor.

Ben http.server modülü gibi birşey ile PHP dosyasına benzer birşey yapabilirmiyim diye sordum.

PHP’nin ne yaptığını bilmiyorum, tam olarak onun yaptığını mı yapmak istiyorsunuz?

Verdiğim linklerdeki çözümler dosya oluşturmuyor.

PHP, HTML’yi sunmadan önce içindeki PHP betiklerine göre dosyayı işler.


Flask, Django benzeri bir yapı değilmiydi?

Python kodu ile de HTML’i str olarak işleyemez misiniz?

Hangi açıdan? İkisi de birer web framework.

Ben orada PHP’yi açıkladım, yoksa bende biliyorum.


Zaten o yüzden onları kullanmak istiyorum.
Böyle birşey için fazla kapsamlı kalırlar


Siz Python’un PyDoc modülünü kullandınız mı;
Setup.exe ile kurduysanız başlat menüsündeki klasörde kısayolunun bulunması gerek.

You can also use pydoc to start an HTTP server on the local machine that will serve documentation to visiting Web browsers. pydoc -p 1234 will start a HTTP server on port 1234, allowing you to browse the documentation at http://localhost:1234/ in your preferred Web browser. Specifying 0 as the port number will select an arbitrary unused port.

PyDoc verdiğim Flask linkindeki gibi bir işlem yapıyor. Hatta pydoc._start_server fonksiyonunu incelerseniz bunu nasıl yaptığını da görebilirsiniz.

“istemiyorum” demek istediniz sanırım. Hangi kütüphaneyi kullanmak istiyorsunuz? Aynı şeyi http.server ile de yapabilirsiniz.

:grin: Evet, telefonda bidik bidik yazaken oluyor arda, bir de otomatik düzeltme, olur olmaz yerde girişince böyle oluyor.

Her ortam için native(doğal) olan dil iyidir. Çünkü o ortamda o dilin hazır kütüphaneleri ve SDK’ları vardır. Mesela android için bir iş yapacaksanız bunun için java veya kotlin kullanmanızı öneririm. Çünkü arkasında kocaman bir SDK var. Android için python ile de yazabilirsiniz. Ama elinizde sadece kivy ve SL4A olur. Aynı şekilde php kendi işini python kendi işini yapmalıdır. Php ile birkaç satırda çözeceğiniz bir işi python ile yapmak için nispeten karmaşık kütüphaneler kullanmak zorunda kalırsınız.
Umarım bir fikir verebilmişimdir. Yanlış düşündüğüm bir nokta varsa yazın tartışalım.

Sizin dedikleriniz doğru, ama biraz alakasız olmuş; yani sürürekli tekrar ediyorum ama Python, mevcut modülleri ve kullanımlarını listelemek için PyDoc modülünü kullanyor.

Bende ufak tefek şeyleri html olarak tarayıcıya yansıtmak için http.server gibi wsgi gibi modülleri kullanabilir miyim böyle birşey yapabilir miyim diye soruyorum.

WSGI’nın sizin işinizle pek alakası olduğunu sanmıyorum, birden fazla web aplikasyonunu barındıran sunucuların daha verimli çalışmak için kullandığı bir protokol kendisi.

Onu öylesine söyledim :pensive:

“şu gibi”, “bu gibi” işte.

1 Beğeni

PHP dosyasinin icerigi, ozellikle tag disinda kalan kismi, HTML’e cok benziyor ve browser’lar tarafindan iyi-kotu render edilebiliyor, ondan mi bahsediyorsun?

Bu PHP’nin tasariminda olan bir sey. Hatta icinde hic PHP tagi yoksa dosya direk HTML formatinda oluyor.

Python’da boyle bir sey yok.

Benim yapmak istediğim, Python ile (dosyanın içindeki) HTML taslağını doldurup, görüntülemesi için (bir dosyaya yazmadan) tarayıcıya göndermek.

Tarayıcıya bir şey göndermek için önce tarayıcının talep etmesi gerekir. Tarayıcı talep edince bu talebi karşılayacak bir server olması gerekir. O yüzden PHP de olsa önce apache server isteği karşılar, sonra da PHP dosyasını yorumlar ve karşı tarayıcıya gönderir.

Bunu zaten Django veya Flask, Template View ile yapıyor. Dosyanın içindeki taslağı alıyor, sonra modelden gelen verilerle dolduruyor ve request olarak geri döndürüyor.

Pekii… tarayıcının yerel dosyları (SVG gibi, MHTML gibi) açabilmesini nasıl açıklıyorsunuz?


Tekrar ediyorum bir web framework kullanmadan bu işin yapılabildiğini biliyorum, ama yapıldığını bilmiyorum.


Lütfen sadece bilen, sorduğum soru anlamış olan cevap versin.

Kendimi Ahiretlik soru sormuş gibi hissetmeye başladım. :pensive:


(bunu yazmazsam forum gonderiyi bos zannediyor.)

Eğer bir template dosyasını düz bir şekilde açmaya kalkarsanız yorumlanmamış bir şekilde görünecektir. PHP dosyalarını da aynı şekilde açarsanız <% %> gibi etiketler görünür. PHP ile SVG’nin ne alakası var onu da anlamadım. SVG dosyaları server tarafından yorumlanmaya ihtiyac duymaz ki? Direkt olarak browser ile açılabilir.

Sorunuz daha çok XY problemine benziyor

1 Beğeni

Tamam, şimdi templating’i boşluk doldurma’yı falan unutun.


Html="<h1>Merhaba, Dünya!</h1>"
URI=f"data:text/html,{Html}"

Şöyle bir kod olsun.
Tarayıcıyı subprocess ile ve URI değişkenini parametre vererek başlatsam olurmu?