Python Scriptimin Sadece Bir Kez Çalıştırılmasını İstiyorum

bash
unix
linux

#1

Herkese iyi forumlar,

özet : sadece bir kez çalıştırılabilen bir python scripti yazmak için gerekli kodları arıyorum.

Sorunun tamamı: Esasen bu sorunun bir ayağı bash tarafında olduğu için aradığım şeyi burada bulamama ihtimalim de var.
Linux üzerinde fare imlecini hareket ettiren bir python scripti yazdım. Kullandığım i3wm pencere yöneticisinin kısayol tuşları ile bash komutları çalıştırabilme özelliği var. Bu kısayol tuşları ile bu scripti yön ve piksel parametreleri göndererek çalıştırdım. Böylelikle klavye ile fare imlecini hareket etirebiliyorum. Ancak sorun şu ki, i3wm kısayol tuşlarına atanan bash komutlarını sadece bir kes, tuşa bastığım anda çalıştırıyor. Bu yüzden örneğin fareyi yukarı doğru hareket ettirmem gerektiğinde atadığım k tuşuna sürekli basmam gerekiyor. Bu sorunu aşsam bile, scriptin her seferinde tekrardan çalıştırılması kaynak israfına yol açıyor. Çünkü scriptin içinde modul aktarma ve nesne oluşturma komutları var.
Benim istediğim sadece bir kez çalıştırılabilen bir python scripti yazabilmek,
scriptAdi yön pixel --> şeklinde bash üzerinden komut çalıştırdığım zaman ise yön ve pixel parametrelerini ilk anda çalıştırılan o scripte göndermek.


#2


Yukarıdaki projede kullanılan kapatılan dosyayı açmayı sağlayan özelliği kullanın.
Dosya ilk açıldığında bir bu değeri False (veya benzeri bir şey) yapın. Tüm işlemleri bir if bloğu içinde yazın.
Anlatamamış olabilirim ancak projedeki o özelliği araştırırsanız anlarsınız.


#3

@hasser’in bahsettiği projedeki en son açılan dosyayı açma özelliği kaldırıldı. Ancak bu özelliğin bulunduğu eski kodlar şurada yer almakta: https://github.com/ismailarilik/editor.py

Özetle, programın bir kez çalıştığını bir dosyaya kaydedin. Her program açılışında bu dosyayı kontrol edip programın daha önce çalışıp çalışmadığına bakın. Çalışmamışsa, çalıştırın. Çalışmışsa bir şey yapmadan programdan çıkın. Bu kaydı yapmak için şu modülü inceleyebilirsiniz: https://docs.python.org/3/library/configparser.html


#4

Kaydı oluşturdum diyelim bash üzerinden yeni parametreyi nasıl yollayacağım bu uygulamaya?


#5

Eğer sürekli yeni parametreler göndermeniz gerekiyorsa, o zaman bu yol işe yaramaz. Sanırım en uygun çözüm, tamamiyle Python kullanabilirseniz bulunabilir.


#6

onu da denedim, pynput ile ama başarılı olamadım, şimdi farklı bir şey deniyorum.
Teşekkürler…