Bir Python komut dosyasının yolunu içeren bir diziniz olduğunu ve bu betiği saydam bir şekilde yüklemek ve yürütmek istediğinizi varsayalım (böylece iç komut dosyası için doğrudan “python yolu” ile çalıştırılmak üzere karşılaştırılmamış temel farklar bulunmayacaktır). Ve sonra ortaya çıkan küresel dict olsun. Ben runpy.run_path() bunu yapar ama iki sorun var olduğunu düşündüm. Yol bazı unicode karakterleri içeriyorsa, çalışmaz (bkz. http://bugs.python.org/issue17588). Ve en önemlisi, küresel dict verilen sadece orijinal bir kopyasıdır, çünkü bu orijinal bir nesne geçici modül nesnesi çöp toplandığında tasfiye edilir. Yani bir işlev nesnesi __globals__ dict bozuk (bkz. http://bugs.python.org/issue18331).Başka bir komut dosyasından nasıl bir Python betiği çalıştırın ve sonuçta global dict olsun?
İç yazıyı nasıl çalıştıracağınıza dair herhangi bir fikriniz var mı?
Güncelleştirme: Geçerli yaklaşıma bakın - http://bpaste.net/show/RzAbQxLNXiJsXYm2fplz/. Baska öneri? İyileştirmeler? Örneğin, çalıştırılan betiğin bakış açısından farklı olabilecek detaylar. __main__’e yükleme ile ilgili sorunları biliyorum. Bir modül içe
kullanılarak daha iyi sonuçlar açıklanmaktadır ... – l4mpi
[execfile()] (http://docs.python.org /2/library/functions.html?highlight=execfile#execfile). – martineau
@ l4mpi: Yol ve iç komut dosyası sabit değil. – user87690