อินเตอร์เฟสรับคำสั่ง Python เป็น Windows


1

มีวิธีที่ฉันสามารถส่งคำสั่งไปยังพรอมต์คำสั่ง Windows ได้หรือไม่

สิ่งที่ฉันต้องการทำคือสร้างแอพ Python บนเดสก์ท็อปที่รับคำสั่งผ่านซ็อกเก็ตจากแอปคอมพิวเตอร์ / อุปกรณ์พกพาอื่น

คำสั่งเหล่านี้จะถูกส่งต่อไปยังพรอมต์คำสั่งของ Windows เพื่อดำเนินการ

ใช้ Windows 7


2
คุณหมายถึง MS-DOS จริงหรือ Windows Command Prompt หรือไม่ (อันหลังคือ ไม่ใช่ DOS . มันเป็นโปรแกรม Windows)
grawity

พรอมต์คำสั่งของ Windows
Akash

คุณแค่สนใจ execution, do not care how it works behind the scenes หรือคุณจริงๆ จำเป็นต้อง คอนโซล ( cmd.exe )?
akira

@akira: คำศัพท์ - cmd.exe คือ เปลือก มันแยกวิเคราะห์คำสั่ง คอนโซลจะแสดงและแสดงผลบนหน้าจอ
grawity

คำตอบ:


5

ใช้โมดูลกระบวนการย่อย

from subprocess import call

call(['cmd', 'arg1', 'arg2'], stdin='...', stdout='...')

เช่น:

call(['dir', '/W'])

อ่านเพิ่มเติมได้ที่นี่ การจัดการกระบวนการย่อย


บางครั้ง os.system สามารถเป็นตัวเลือกที่ดีกว่า - ตัวอย่างเช่นหากคุณมีบรรทัดคำสั่งที่สมบูรณ์และไม่ต้องการแก้ไข (คำถามของ Akash ที่ดูเหมือนจะเป็น)
grawity

@grawity: subprocess.Popen() และที่นั่นคุณมี os.system()
akira

@akira: จุดของฉันเกี่ยวกับ os.system("dir /w") กับ call(["dir", "/w"]) - แยกอินพุตเพื่อให้มันเข้าร่วมอีกครั้งในภายหลังและดำเนินการผ่านเชลล์ แม้ว่าฉันจะผิด - ฉันลืมไป Popen(..., shell=True)ซึ่ง ทำ ยอมรับคำสั่งสตริง
grawity
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.