begin process at 2012 02 08 11:59:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

Mini shell en python


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mini shell en python

mardi 13 avril 2010 à 17:50:25 | Mini shell en python

chedu06

Bonsoir,
J'ai un projet qui consiste à réaliser un mini shell en python.Mais pour l'instant je ne sais par où commencer.Explications et pistes (surtout pour le prompt) seront les bienvenues !
Merci par avance !
samedi 1 mai 2010 à 23:58:54 | Re : Mini shell en python

didoux95

Bonsoir,

J'ai fais un petit programme en shell il y a quelques temps, dialogue sur le port série (en Java ..).
Je ne sais pas si j'ai eu la meilleurs méthode de développement mais en tout cas ca à aboutit a quelque chose de fonctionnel.
J'ai commencer par faire un module "Parser" qui "parse" les lignes écrite dans la console. Et ensuite j'ai fais un module "Doer" qui exécuter les différentes actions.
Dans l'ensemble, le module "Parser" lit une ligne, l'interprète, et appel la fonction correspondant dans le module Doer.

Voici une infime partie du code du "Parser" :
Code Java :
/**
 *Parses the current command line.
 *
 **/
public void parse () {
	
	//Save the current command line
	doer.addCmdLine(cmdLine);
	
	//Get the first char of the command line
	String type = "" + this.cmdLine.charAt(0);	

	//What kind of command is it ?
	if (type.equals("C")) {
		configure();
	}else if (type.equals("S")) {
		send();
	}else if (type.equals("R")) {
		recieve();
	}else if (type.equals("O")) {
		other();
	}else{
		doer.unknownCommand();
	}
}


Et un morceau du "Doer" :
Code Java :
/**
 *To display all available commands and the way to use them.
 *
 **/
public void unknownCommand () {
	
	badUsage('C');
	badUsage('R');
	badUsage('S');
	badUsage('O');
	
}

/**
 *Informs the user about the commands.
 *
 *@param char c The char that corresponds to the command.
 *
 **/
public void badUsage (char c) {
	
        //En fait on va chercher les informations relatives aux commandes dans des fichiers de description prédéfinit ..
	try {
		
		String path = "ressource" + File.separator + "cmds" + File.separator;
		
		Scanner sc = null;
		if (c == 'C')
			sc = new Scanner(new File(path + "Configure.txt"));
		else if (c == 'R')
			sc = new Scanner(new File(path + "Recieve.txt"));
		else if (c == 'S')
			sc = new Scanner(new File(path + "Send.txt"));
		else if (c == 'O')
			sc = new Scanner(new File(path + "Other.txt"));
		
		commandArea.setText(commandArea.getText() + " \n");
		
		while (sc.hasNextLine())
			commandArea.setText(commandArea.getText() + "" + sc.nextLine() + "\n");
		
	}catch (FileNotFoundException fnfe) {}
}


J'espère que ca va t'aider dans ton développement ;)


PS : Le code que je t'ai mis c'est du Java, mais c'est pas important, l'essentiel c'est la structure ..


Cette discussion est classée dans : shell, python, mini


Répondre à ce message

Sujets en rapport avec ce message

tutoriaux python [ par slachz ] voilà un tuto FR tres remplie en python (il existe en bouquin mais est telechargeable gratuitement) :http://www.ulg.ac.be/cifen/inforef/swi/python.htm installation python [ par champagnef ] Bonjour,je suis nouveau sur python. J'apprends (en amateur intéressé) avec le cours de G. Swinnen et autres tuto.Je suis sur Mac Os X.3.5 et je pense Projet Python: Lecteur de flux RSS. [ par Marvin ] Amis codeurs, bien le bonjour (ou plutot bonsoir car il est 00:33 ( GTM + 1h ) ) ,J'ai en tête depuis déja quelques jours, de créer un lecteur de flux Paramétrage de python [ par deguelatore ] salut à tous. Je voulai vous demandez si on peut se débarrasser du mode interactif de python?? Vous savez les 3 flèches (>>>).C'est juste pas ce que c Tk vs wx [ par bonac ] Bonjour,Je doit faire une assez grosse application en python, le problème est que je ne connaissait pas python (du moins de nom) le mois dernier. Cett Help : Python/DB/CGI [ par Chill_Sik ] Bonjour à tous, voila qqjours que je me casse les dents sur un petit problème alors je me décide a appeler "au secour" car on ne sait jamais que certa WebCam [ par DoudouBidou ] Après plusieurs recherche je n'ai pas trouvé de script python capable de diffusé une webcam sur un réseaudonc je lance le débat, est-il possible de ré dll avec python? [ par LokR ] Salut tout le monde!je me pose une kestion, je pense pas que ce soit possible mais d'un autre coté je pensais pas kon puisse faire d' *.exe avec pytho aide pour xchat svp [ par Jamu ] Salut a tous Je debute sur xchat et le python ben je connais pas,j'ai chercher des tuto sur google mais j'ai trouvé que des tuto de python en général les variables vu par Plone... [ par onlybjork ] Bonjour.Je suis designer, et dans le cadre d'une intégration de charte sous plone, j'ai besoin d'incrémenter tout simplement une variable. Seulement,


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales