Ik heb al een groot deel van de python manuel doorpluist en google veel malen geraadpleegd maar ik vind nergens hoe ik een commando naar bv dos kan krijgen en hoe ik de output moet opvangen. In c++ weet ik dat het "system()" is. (al vang je daarmee de output niet op).
Je wilt een stream uitlezen vanuit een console window? Of wil je een commando in een console zetten, dus er naar schrijven?
eigenlijk beide, dus ik wil een commando naar dos kunnen sturen bv variable = send_to_dos(''dir") en de output moet dan in die variable komen.
offtopic:
Bestaat er eigenlijk een nederlanse python community site
Bestaat er eigenlijk een nederlanse python community site
Wat wil je precies berijken, je kan hier is kijken naar wwat resultaten. Maar waarom een dit opvragen in een dos console? 
Wat wil je precies berijken?
Wat wil je precies berijken?
Verwijderd
In de nieuwe Python (2.4) is er een speciale module met allemaal functionaliteit hiervoor, namelijk de module subprocess (zie hier).
Als je met een oudere versie van Python werkt kun je de functies uit de module os gebruiken. Meer documentatie daarover vind je hier en hier.
Als je met een oudere versie van Python werkt kun je de functies uit de module os gebruiken. Meer documentatie daarover vind je hier en hier.
offtopic:
En doe me een lol: noem het alsjeblieft geen `DOS'. DOS is dood en begraven, en zit niet meer in de Windows van tegenwoordig. Je hebt het over console programma's, of gewoon over `de console' of `de command-interpreter' als je specifiek cmd.exe bedoelt. Het zijn géén DOS programma's en het is géén MS-DOS prompt.
En doe me een lol: noem het alsjeblieft geen `DOS'. DOS is dood en begraven, en zit niet meer in de Windows van tegenwoordig. Je hebt het over console programma's, of gewoon over `de console' of `de command-interpreter' als je specifiek cmd.exe bedoelt. Het zijn géén DOS programma's en het is géén MS-DOS prompt.
[ Voor 38% gewijzigd door Verwijderd op 03-01-2005 15:52 ]
Thanks OneOfBorg dat zocht ik dus. (Ik gebruikte dus de foute zoektermen op google).
@ questa : Wat ik wil bereiken is zoiets als ssh. Ik log met men client in op de server pc waardoor ik commandos kan sturen naar command.com en de server stuurt dan de output (van die command) terug naar de client. Bijvoorbeeld als ik "dir" stuur met die client moet de server dan die command naar command.com sturen en de output (een filelist) dan terugsturen naar de client.
@ questa : Wat ik wil bereiken is zoiets als ssh. Ik log met men client in op de server pc waardoor ik commandos kan sturen naar command.com en de server stuurt dan de output (van die command) terug naar de client. Bijvoorbeeld als ik "dir" stuur met die client moet de server dan die command naar command.com sturen en de output (een filelist) dan terugsturen naar de client.
Is het dan niet slimmer, sneller, netter en veiliger om dit niet via command.com te doen? Als ze client een functie wil voor een dirlist kun je die toch beter zelf maken.
Verwijderd
Ik neem aan dat je voor WinNT (2000, XP...) ontwikkelt en niet voor 9x. Dan kun je beter cmd.exe gebruiken, ipv. command.com.Verwijderd schreef op maandag 03 januari 2005 @ 15:48:
Bijvoorbeeld als ik "dir" stuur met die client moet de server dan die command naar command.com sturen en de output (een filelist) dan terugsturen naar de client.
En afgezien van het feit dat als je `zoiets als SSH' wil, je dan beter gewoon SSH kan gebruiken (
Python:
1
2
3
4
| import os (stdin, stdout) = os.popen2('dir') print stdout.read() |
Simple as that. (popen2 gooit het commando door de command-line interpreter heen (cmd.exe dus), dus dat hoef je zelf niet meer te doen).
Let er wel op dat als je van directory verandert met `cd', dat niet tussen verschillende executies van de commando's onthouden wordt. Als je wilt kunnen directory-switchen zul je dat met de hand moeten gaan bijhouden.
[ Voor 14% gewijzigd door Verwijderd op 03-01-2005 16:00 ]
Pagina: 1