Python subprocess dizin nasıl değiştirilir?

python subprocess dizin nasıl değiştirilir ? cd …

wd = os.getcwd()
os.chdir("/")
subprocess.Popen("ls")
os.chdir(wd)

ya da basit bir şekilde :

subprocess.Popen("ls", cwd="/")

Alakalı konunun alındığı yer

1 Beğeni

dizin nerde değişiyo burda ?

Nasıl bir şekilde değiştirmek istediğini bağlı

os.chdir("Directory adı")
subprocess.Popen("Yapılacak işlem")
os.chdir(wd) #Çalıştır
1 Beğeni

dostum attığın bu kod root a ls atıyo ? konu açıklamasında cd … yazmıştım görmedin galiba
terminalde hiç cd … yapmadın mı ?

bu doğru ama subprocess karşılığı lazım cd … yani

subprocess.call('cd ..', shell=True) # pointless code! See text below.

Bundan mı bahsediyorsun?

gibi bu çalışmıyo linux ta windows ta denemedim

subprocess.call(‘cd …’, shell=True)
0

böle yani sonra pwd yapınca hala aynı yerdeyim :smiley: çalışması lazım ama anlamadım.

subprocess.call("(cd ~/catkin_ws/src && catkin_make)", shell=True)

Bunu buldum Linux ile ilgili bir bakabilir misin?

Kaynak

Basladiktan sonra subprocess’in CWD’sini degistiremezsin, kendisinin degistirmesi lazim.

Subprocess’in CWD’sini degistirdin cunku? Subprocess ...'ya gidip bitti, sen ayni yerdesin.

2 Beğeni

tamam ozaman bu çalışıyo ileri geri gidiyor ama ben gittiğim dizinde ls pwd nasıl çalıştırmam gerekiyor ?

subprocess.call(["ls", "-l"])

Bu çalışıyor olmalı :no_mouth: :confused:

çalışıyor ama gidip geldiğim dizinde çalışmıyor aib inde dediği gibi subprocess başladığı yerde kalıyo çok garip bi olay anlayamadım :smiley:

burda güzel taktik verdi de kod a dökemedim :smiley:

subprocess.call("ls", cwd="path/to")

Bunu buldum birde

yarım sayfa hata çıktı :frowning:

Thats bruh moment ama. Bulucam illa bi taktiği vardır. Kırıcam kodu :rage:

1 Beğeni

bende bakıyom da sinirim bozuldu artık :smiley: saolasın.

Calistiramazsin, onlar ayri process’ler.

Subprocess’in adi ustunde; yeni process. CWD’sini sen verirsin veya parent’tan alir.


Ne yapmaya calisiyorsunuz arkadaslar?

1 Beğeni