Kendi dosya uzantımı oluşturma yardım

Bir script yazıyorum ve kendine has bir uzantı kullanıcak. örneğin: main.abc adlı dosyaya çift tıkladığımda benim script imin açılmasını istiyorum. Nasıl yaparım?

1 Beğeni

bende merak ettim rez

Kullanilan isletim sistemi kabuguna, hangi programda cift tiklandigina gore degisir.

örenğin abc_script.py scriptinin uzantısı .abc
yani main.abc diye bir dosyaya çift tıklayınca scipti çalıştırıcak

GNU/Linux üzerinde shebang yöntemini kullanabilirsiniz.
Dosyanızın başına şu zımbırtıyı ekleyin:

#!/usr/env/bin python3

Ardından dosyanızı çalıştırılabilir hale getirin:

chmod +x dosyaadı.abc

Artık dosya yöneticinizde sağ tık menüsünden “Çalıştır” düğmesini kullanarak direk o betiği çalıştırabilirsiniz. Komut satırı üzerinden de şu şekilde çalıştırabilirsiniz.

./dosyaadı.abc
1 Beğeni

winows için olanını yazar mısın acaba?

Merhabalar, belirlediğiniz uzantılı dosyayı terminal üzerinden “python xxx.abc” komuduyla çalıştırabilirsiniz. Ancak kastettiğiniz şey Windows Explorer uygulamasında görünen dosyanın çift tıkanıp açılması ise kayıt defteri değerleri ile oynamalısınız. Diyelim ki .deneme isimli bir uzantıyı bilgisayara tanıtmak istiyoruz. İlk önce bilgisayarda tanımlı olan uzantıların bulunduğu HKEY_CLASSES_ROOT anahtar dizisini açarız.


Bu dizinde kendi uzantı adımıza göre (biz .deneme olarak düşündük) bir dizin açalım.

image
.deneme dizinini açtıktan sonra, dizinin varsayılan değerini bu dosya uzantısının nasıl açılacağı hakkında anahtarlara sahip olan dizinin adını yaparız. Mesela bizimki “deneme file” olsun.


“deneme file” dizinin referans ettik ancak “deneme file” diye bir dizinimiz yok. Bundan dolayı “deneme file” diye bir dizin oluşturuyoruz.


deneme file dizinini oluşturduktan sonra bu dosya uzantısıyla ilgili çoğu şeyi ayarlayabiliriz (Dosya ikonu, dosya türü açıklaması, açma yasağı vs.). Dosyayı çift tıklayınca ne yapması gerektiğini “shell/open/command” dizininin varsayılan anahtarında belirliyoruz.


image

Burada yazan değer sayesinde dosya, çift tıklandığında bir Python dosyası gibi davranacaktır. Bir örnek yapmak gerekirse:


Bir .deneme dosyası oluşturup içine iki satırlık Python kodu yazdım.


Dosyaya çift tıklıyorum.


Ve tıklandığı vakit bilgisayar kayıt defterindeki değerleri okuyup ona göre hareket ediyor.

Uzun lafın kısası, Windows’ta bildiğim kadarıyla böyle bir şey yapmak kayıt defteri değerleri ile uğraşmak ile mümkün oluyor. Umarım nasıl olduğunu anlatabilmişimdir.

3 Beğeni

çok teşekkürler. sağolun