Python "os.system()" fonksiyonundan sonraki kodlar çalışmıyor

Syntax Error

Hectopat
Katılım
2 Ocak 2021
Mesajlar
1.714
Çözümler
11
Python:
import os

os.system("diskpart")
os.system("list disk")

diskNum = input("Enter the number of the disc on which you will burn the ISO. \n"
 "Note: If you enter it incorrectly, everything may be deleted!!!: ")
os.system(f"select disk {diskNum}")

"os.system("diskpart")" kısmından sonra diskpart için yeni pencerede CMD açılıyor. Ondan sonraki os.system() komutları çalışmıyor. Sebebi nedir? Yardımcı olursanız sevinirim.
 
Python:
import os

os.system("diskpart")
os.system("list disk")

diskNum = input("Enter the number of the disc on which you will burn the ISO. \n"
 "Note: If you enter it incorrectly, everything may be deleted!!!: ")
os.system(f"select disk {diskNum}")

"os.system("diskpart")" kısmından sonra diskpart için yeni pencerede CMD açılıyor. Ondan sonraki os.system() komutları çalışmıyor. Sebebi nedir? Yardımcı olursanız sevinirim.
Merhaba eski dostum, n g neer ben :D Cunku DISKPART programi calismaya devam ediyor. Ayrica list disk onda calismayacak. Argumanlarla halledersin belki komut calistirma kismini, CMD bilgine dayaniyor tamamen. Yani diskpart blokluyor zaten senkronize oldugu icin.

Sunu kullanmayi deneyebilirsin.
 
Python ile bir geliştirme yapmadım daha önce ama muhtemelen açılan pencerenin kapanmasını bekliyor. Kapatınca devam ediyor mu? Thread tabanlı bir çalışma yok ise o pencerenin kapanmasını bekliyor gibi anladım.
Problem bu ancak yine de list disk falan Diskpart komutlari oldugu icin arkadasin istedigi mantikta calismayacak.

Buna da bakabilirsin, ilk cevapta goruyorsun bir script yapmis, oradaki scripte diskpart yaz kodu da alttaki gibi yap. Kodu maalesef Windows makina olmadigi icin test edemeyecegim ama dedigim gibi uyarlarsan olabilir.

Baslangic icin:
Kod:
@echo off
diskpart
Yaz bir bat dosyasi olusturup.

Dosya adinin test.bat oldugunu varsayiyorum.
Python:
from subprocess import Popen, PIPE

p = Popen(["test.bat"], stdin=PIPE)

print("Diskpart testi")
res1 = p.stdin.write("select disk 0\n")

Boyle dene mesela, oluyor mu?
 
Problem bu ancak yine de list disk falan diskpart komutlari oldugu icin arkadasin istedigi mantikta calismayacak.

Buna da bakabilirsin, ilk cevapta goruyorsun bir script yapmis, oradaki scripte diskpart yaz kodu da alttaki gibi yap. Kodu maalesef Windows makine olmadigi icin test edemeyecegim ama dedigim gibi uyarlarsan olabilir.

Baslangic icin:
Kod:
@echo off.
diskpart
Yaz bir BAT dosyasi olusturup.

Dosya adinin test.bat oldugunu varsayiyorum.
Python:
from subprocess import Popen, PIPE.

p = Popen(["test.bat"], stdin=PIPE)

print("Diskpart testi")
res1 = p.stdin.write("select disk 0\n")

Boyle dene mesela, oluyor mu?

Kod:
from subprocess import Popen, PIPE.

p = Popen(["test.bat"], stdin=PIPE)

print("Diskpart testi")
res1 = p.stdin.write(bytes("list disk\n", "utf-8"))

print("yazıldı")

Böyle denedim fakat print("yazıldı")komutunu diskpart açılmadan yazıyor. Ve select disk 0 da diskparta yazılmıyor.

Kod:
from subprocess import Popen, PIPE.

p = Popen(["test.bat"], stdin=PIPE)

print("Diskpart testi")
res1 = p.stdin.write(bytes("list disk\n", "utf-8"))

print("yazıldı")

Böyle denedim fakat print("yazıldı")komutunu diskpart açılmadan yazıyor. Ve select disk 0 da diskparta yazılmıyor.

Senin dediğin sitenin altında bir cevap daha vardı. Onu da denedim fakat o da işe yaramadı.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı