Şu anda ben bir komut dosyası olarak bir kütüphane modül olarak oluşturulan bir piton dosyasını çalıştırıp Daha spesifik bir komut satırı argüman geçirerek, bir piton dosyasını çalıştırıyorum yolu şimdiPython Kitaplığı Modülünü başka bir python dosyasından komut dosyası olarak nasıl çalıştırılır? (Python 3.5.1)
python3 -m path.to.python.file --option1=OPTION_VALUE
Aslında bu dosyalardan birkaç tane var ve bunları farklı bir python dosyasından çalıştırmak istiyorum. Bunu nasıl yapardım? Daha kolay hale getirirse, option1
bağımsız değişkeninin değeri hepsi için aynıdır.
Benzer konularla ilgili diğer birçok StackOverflow yayınını gördüm, ancak bunların hiçbiri bir python dosyasını bir kitaplık modülü olarak bir komut dosyası olarak çalıştırmayla ilgili görünmüyor.
DÜZENLEME: Sanırım bir cevap buldum. Aşağıdaki yapıyor sona erdi:
subprocess.Popen(['python3', '-m', 'path.to.python.file', '--option1=OPTION_VALUE'])
Bu bunu yapmanın en iyi yolu olmayabilir:
p = subprocess.Popen(['python3', '-m',
'path.to.file',
'--option1=OPTION1_VALUE'])
p.communicate()
Harika! Bu neredeyse benim için çalışıyor. Bu yüzden benim durumumun tam olarak benim durumuma uymaması sebebi, temelde bir sürü dosyayı sırayla çalıştırmak istiyorum. Bazıları SQL betikleridir ve bazıları Python dosyalarıdır (Her ikisi de bir Veritabanında tablolar oluşturur. Python dosyaları için sqlalchemy/pandaları kullanırım). Bu dosyaları belirli bir sırayla çalıştırmak istiyorum. "Altprocess.Popen" kullandığımda sanki her zaman Python dosyalarını en sonunda çalıştırıyormuş gibi görünüyor. Bunu yapmam için bir yol var mı, ancak dosyaları sırayla çalıştırabilecek miyim? – Vincent