Pencerenin içinde yürütme (kendi kendine silme) sonunda .py dosyasını silecek bir python betiği yapmak mümkün mü?Komut dosyası yürütme sonunda otomatik olarak nasıl silinir?
cevap
Belleği boşken bir dosyayı sildiğimden emin olmak iyi bir fikir olabilir. Komut dosyasından komut dosyasını kapatan bir toplu iş dosyasını çalıştırmayı deneyin ve komut dosyasını siler.
Bir komut dosyasını kendi kendine imha etmek için yerel bir yöntem olabilir, ancak bunun farkında değilim. Burada ben açıklanan yöntemi kullanarak bunu gerçekleştirmek nasıl basit bir örneğidir::
DÜZENLEME toplu olarak komut
# C:\test.py
import os
os.startfile(r"C:\sampleBatch.bat")
yılında
# C:\sampleBatch.bat
TASKKILL /IM "process name" #For me, this was "ipy64.exe" because I use IronPython.
DEL "C:\test.py"
Şunları yapamazsınız Dosyanın silinmesi için işlemi bile bitirmesi gerekir, ancak bunu yapmak daha güvenlidir. Bu yardımcı olur umarım.
aldıktan sonra özgün komut dosyasını silmem gerekir. Ayrıca, kapattıktan sonra toplu dosyayı yok etmenin bir yolu var mı? senaryo? –
Toplu iş dosyası, işlemin kapatılması sırasında dosyayı yok edebilmelidir. Bunu yapmak için toplu iş dosyasındaki DEL "scriptpathhere" komutunu kullanın. Bir saniyede küçük bir snippet koyacağım. – covertCoder
Bazı örnek kodlarda sizin için eklendi. – covertCoder
Bu şekilde programınızı işletim sistemi bağımlı hale getirir.
from os import remove
from sys import argv
remove(argv[0])
Bonus puanlar: argümanlardır sen sys.argv olsun çok ilk argüman edilir ayrıştırma zaman "yol-dosya ismi/filename.py"
Neomind cevabı görünüyor eşittir hile yapmak. Ancak, dosyayı belleğe alırken silmeniz sizi rahatsız ediyorsa ve salt bir python çözümü arıyorsanız, orijinal betik dosyanızı silmenin açık bir amacı ile yeni bir işlem oluşturmak için alt işlemi kullanabilirsiniz.
import sys, subprocess
subprocess.Popen("python -c \"import os, time; time.sleep(1); os.remove('{}');\"".format(sys.argv[0]))
sys.exit(0)
Muhtemelen orada zaman aşımı gerek olmazdı ama bu sadece orijinal komut süreç kendini kapatmak için yeterli zaman verilmiş olduğundan emin olmak için ekledik: Böyle bir şey çalışmalıdır.
import os
os.remove("insert the file's path")
sorunlarla karşı karşıya iseniz, başlangıç alıntılar işareti önce 'r' yerleştirin:
Python 3'te 'shell = True' öğesini eklemelisiniz. –
oldukça basit bir yöntem yoktur.
Evet, kullanabilirsiniz aşağıdaki:
import os
import sys
import subprocess
# execute and remove after run
(Your python code)
# end of file
dir = os.getcwd()
os.remove(dir+'\%s' % sys.argv[0])
Bu komut elbette değiştirilebilir, ama bunun yanı sıra bu
- 1. Yürütme komut istemi komut dosyası nasıl oluşturulur
- 2. Ajax yanıtında komut dosyası yürütme
- 3. 2 git dalını otomatik olarak birleştirmek için komut dosyası mı?
- 4. Arka planda otomatik olarak çalışan npm komut dosyası nasıl durdurulur
- 5. Golang'dan bir Bash Komut Dosyası Yürütme
- 6. API aracılığıyla AWS'de R Komut Dosyası Yürütme
- 7. Sahte 0'da Powershell Komut Dosyası Yürütme
- 8. PHP Değişkenleri ile Python Komut Dosyası Yürütme
- 9. Toplu iş dosyasından otomatik yürütme, WinRar SFX dosyası nasıl oluşturabilirim?
- 10. nasıl otomatik olarak bir sonraki düğmesi yoktur Sonunda" Ben önümüzdeki
- 11. Her x dakikada bir nasıl otomatik olarak silinir?
- 12. Mockable-android-23.jar nasıl otomatik olarak silinir?
- 13. jenkins in execute groovy komut dosyası ve yürütme sistemi grovy komut dosyası arasındaki fark?
- 14. Alt komutlarla otomatik tamamlama komut dosyası oluşturma
- 15. Python kabuğunun başlatılmasıyla ilgili komutları otomatik olarak yürütme
- 16. Uzun komut dosyası yürütme nedeniyle Jenkins Zaman Aşımı
- 17. PowerShell - belirli bir kapsamda komut dosyası yürütme komutunu çalıştırın
- 18. Android'de dahili depolama dosyası nasıl silinir?
- 19. Python komut dosyasını komut satırından çalıştırma komut dosyasını komut dosyası yürütme yerine varsayılan metin düzenleyicide açar.
- 20. PHP Sadece siyah ekran görüntülerini döndüren Bash Komut Dosyası yürütme
- 21. Uzak Linux ana bilgisayarında yerel komut dosyası yürütme
- 22. Guice'de kapsamın sonunda kaynakların otomatik olarak temizlenmesi mümkün mü?
- 23. Toplu komut dosyası olarak değişken dizeyi komut olarak çalıştırma
- 24. Belgenin çerçevesi korumalı olduğundan komut dosyası yürütme engellendi - Açısal uygulama
- 25. Tablo satırları otomatik olarak kaydırılmıyor. Komut dosyası 1 kaydırır, komut 2 kaydırmaz. Niye ya?
- 26. OSX'de aygıt bağdaştırıcısında komut dosyası nasıl çalıştırılır
- 27. Visual Sudio kurulum projesinin sonunda bir readme dosyası başlatılıyor
- 28. Komut dosyası nasıl çalışır?
- 29. PowerShell Komut Dosyası
- 30. Yürütme uygulamasını yerel olarak dağıtın
Neden bu isteyeyim çalışması gerekir? – delnan
Birkaç nedenden ötürü düşünebilirim;) –
Bir ağ bağdaştırıcısını kullanarak bir komut dosyasını güncelleştirmek için, güncellenmiş bir tane –