Python'da cmd komutu çalıştırma yardım

Merhaba arkadaşlar.

*from subprocess import Popen *

process = Popen([‘cmd.exe’,])

sayesinde cmd’yi çağırıyorum pencere açılıyor fakat ben o cmd ekranına bi kod yazmak istiyorum bunu nası yapabilirim yardımcı olabilçek arkadaşlar varsa simdiden çok teşekkür ederim

Not : Suvan Yapmak istediğim tek şey bu batch dosyasının kodunu python’a kopyalatırmak normalde kopy ve past yaptırdıgımda.

> SyntaxError: invalid syntax

diye bi hata alıyorum saygılarla. yardımcı olabilçek veya fikri olan arkadaşlar varsa yardımcı olursa çok sevinirim. teşekkürler.

cmd yi açıp ardından python yazıp entere basarsan bi sonraki yazdıkların python tarafından çalıştırılır. pythona geçtiğini anlaman içinde python yazdıktan sonra enter yaparsın ve bi alt satıra geçerek başlangıcın
>>>
olarak gözükür.
>>>2+3 Enter
>>>5 çıktısını verir
>>>exit() Enter
ve pythondan çıkmış olursun >>> ifadesi de kalkar
Örnek:

C:\Users\Arif>python
>>> import tkinter
>>> dir(tkinter)
['ACTIVE', 'ALL', 'ANCHOR', 'ARC', 'BASELINE', 'BEVEL', 'BOTH', 'BOTTOM', 'BROWSE', 'BUTT', 'BaseWidget', 'BitmapImage', 'BooleanVar', 'Button', 'CASCADE', 'CENTER', 'CHAR', 'CHECKBUTTON', 'CHORD', 'COMMAND', 'CURRENT', 'CallWrapper', 'Canvas', 'Checkbutton', 'DISABLED', 'DOTBOX', 'DoubleVar', 'E', 'END', 'EW', 'EXCEPTION', 'EXTENDED', 'Entry', 'Event', 'EventType', 'FALSE', 'FIRST', 'FLAT', 'Frame', 'GROOVE', 'Grid', 'HIDDEN', 'HORIZONTAL', 'INSERT', 'INSIDE', 'Image', 'IntVar', 'LAST', 'LEFT', 'Label', 'LabelFrame', 'Listbox', 'MITER', 'MOVETO', 'MULTIPLE', 'Menu', 'Menubutton', 'Message', 'Misc', 'N', 'NE', 'NO', 'NONE', 'NORMAL', 'NS', 'NSEW', 'NUMERIC', 'NW', 'NoDefaultRoot', 'OFF', 'ON', 'OUTSIDE', 'OptionMenu', 'PAGES', 'PIESLICE', 'PROJECTING', 'Pack', 'PanedWindow', 'PhotoImage', 'Place', 'RADIOBUTTON', 'RAISED', 'READABLE', 'RIDGE', 'RIGHT', 'ROUND', 'Radiobutton', 'S', 'SCROLL', 'SE', 'SEL', 'SEL_FIRST', 'SEL_LAST', 'SEPARATOR', 'SINGLE', 'SOLID', 'SUNKEN', 'SW', 'Scale', 'Scrollbar', 'Spinbox', 'StringVar', 'TOP', 'TRUE', 'Tcl', 'TclError', 'TclVersion', 'Text', 'Tk', 'TkVersion', 'Toplevel', 'UNDERLINE', 'UNITS', 'VERTICAL', 'Variable', 'W', 'WORD', 'WRITABLE', 'Widget', 'Wm', 'X', 'XView', 'Y', 'YES', 'YView', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_cnfmerge', '_default_root', '_exit', '_flatten', '_get_default_root', '_join', '_magic_re', '_setit', '_space_re', '_splitdict', '_stringify', '_support_default_root', '_test', '_tkerror', '_tkinter', '_varnum', 'constants', 'enum', 'getboolean', 'getdouble', 'getint', 'image_names', 'image_types', 'mainloop', 're', 'sys', 'types', 'wantobjects']
>>> exit()
C:\Users\Arif>cls ve temiz bir ekran

python açmam’dan yana bi sorun yok ben sadece python içinde cmd acıp cmd içinde bi kod çalıştırmak istiyorum. Ekran Alıntısı

o zaman kusuruma bakmayın. konu başlığıyla beraber okumaya başladığımda ben böyle anladım üzgünüm… bi internetten araştırmak lazım

estağfurullah kardeşim baktım bulamadım malesef ya. belki bilen varsa yardımcı olur diye yazdım burayada benim mantıgımda suda olur aslında bi kod versem kopyala yapıstır enter yapsa kodu cmd’ye python bu sekildede cözülür benim sorunum. saygılarla. bilen arkadaşlar yardımcı olursa çok memnun olurum .

Popen objesinin dokumentasyonunda bulabilirsin. communicate, stdin ve stdout kisimlari ozellikle.

Kısmen aradğın şey burda olabilir
Burada işini görebilir
Yine de bi yanıt bekle işin ehli olan çokca adam var biri yardım eder

malesef dediğiniz dökümanlarda bulamadım. yapmak istediğim şeyi. yinede teşekkür ederim. yardımlarınız için. tek yapmak istediğim python’da cmd ekranı açmak ve cmd içinde resimdeki gibi bi kod çalıştırmak sistem komutu olmadığı için

netstat -n komutu çıktısı alabiliyorum bu komutlarla fakat benim çalıştırmak istediğim komutu. çalıştırmıyor. bu dökümanlar.

from os import system

system(“netstat -n”)

import os
os.system(“netstat -n”)

Merhaba,

Çalıştırmak istediğiniz nedir?

Yanlış anlamadıysam elinizde sizin düzenlediğiniz bir bat dosyası var ve bunu çalıştırmak istiyorsunuz. Linux kullandığım için windowsu pek bilmiyorum ama şöyle bir şey yapılabilir mi? (linux için konuşuyorum. windowsa kendiniz uyarlarsınız diye düşünüyorum.)

j.sh

help

d.py

import os

os.system("sh ./j.sh")

Bunları denediğimde help komutunu çalıştırdı. Acaba önce kendi komutlarınızı bat dosyasına yazıp sonra python daki os modülünü kullanarak o bat dosyasını çalıştırabilir misiniz?

Örnek olsun diye bir tane yazayım.

komutlar = """
help
"""

with open("komut.sh", "w") as f:
    f.write(komutlar)

os.system("sh ./komut.sh")

Ne yazık ki pek windowsa hakim değilim. Sen bunun win versiyonuna uyarlayabilirsin.

Emin değilim ama win için de acaba şöyle yazılabilir mi?

d.py

komutlar = """
help
"""

with open("komut.bat", "w") as f:
    f.write(komutlar)

os.system("start ./komut.bat")

Sorundan anlayabildiğim kadarıyla bu kadar yazabildim. Umarım faydalı olur.

kodları soruyorsanız sayet bat dosyasının kodları.

dediğiniz şeyi anladım saten farkındayım böyle bişe yapabilceğimiz’in çok teşekkür ederim yinede

ama ben ayrı bi bat dosyası olsun istemiyorum tek 1 py altında hepsini toplamak istiyorum. yani klasörde 2 dosya değil 1 py dosyası olcak. yinede düşünmen bile yeter çok teşekkür ederim.

1 Beğeni

Arkadaşlar konum günceldir. benim için biraz önemli bi konu destek olabilçek arkadaşlar varsa çok iyi olur .saygılarla.

cözüm

Ben isimi bu sekilde halletmeye karar verdim başka bi yol bulamadığım için.

belki benimle aynı sorunu yasıyan arkadaşlar vardır. bu sekilde sorunlarını halledebilirler. . tek bi py dosyası oluyor yine klasörde sadece sonradan dosya olusturuyoruz ve kodu bu sekilde çalıştıyoruz. ve sonra tekrardan klasör veya text bat dosyasını sildiriyoruz. ve tek bi py ile yine isimizi görüyorüz kisi bunu anlamıyor.

import requests # kütüphane kodları

from subprocess import Popen # kütüphane kodları

import os # kütüphane kodları

example_txt = ‘https://www.paste.tc/raw/basliksiz-205’ # txt komutlarının çekilçeği yer.

r = requests.get(example_txt)

with open(‘x11.bat’, ‘wb’) as f: # oluşturulçak bat dosyasının adını giriyorsunuz.

f.write(r.content)

process = Popen([‘x11.bat’,]) # son olarak’da açmak istediğiniz bat dosyasının adı.

os.remove(“x11.bat”) # oluşturdugunuz bat veya txt silmenize yarar klasörde tek bi dosya olur tekrardan

Yardımcı olmaya çalışan arkadaşlara çok teşekkür ederim tekrar’dan en azından bi beyin fırtınası yapabildik. teşekkürler.

Bu şekilde çıktı alabilirsiniz. rich ve subprocess den …kütüphaneleri inceleyebilirsiniz.Sağlıklı günler