Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

cours:si3:faq:faq_web_ws

FAQ : Du Web aux Web Services en Python

Comment écrire un chemin de fichier indépendant de l'OS ?

on dispose également de la fonction os.path.join( chemin1, chemin2) qui permet de concaténer des chemins simplement en respectant les convention de l'OS de support :

chemin=os.getenv('HOME')
chemin=os.path.join(chemin,'Bureau')
print (chemin)
/home/user/Bureau
Comment utiliser les pipes en python ?
  • Le module os (import os) en python vous permet d'avoir accès à une API proche de POSIX dans laquelle vous trouvez :
 
os.fork()
pipein, pipeout = os.pipe()
... = os.read(pipein, ...)
os.write(pipeout, ...)
os.close(pipein)
os.close(pipeout)
  • Python permet aussi d'accéder à une struture de pipes à la création d'un processus. Voici quelques explications :
 myPopen = subprocess.Popen(['cat', '-n']) : fait l'appel système non bloquant.
si on veut pouvoir envoyer des données sur le stdin du process, il faut faire : myPopen = subprocess.Popen(['cat', '-n'], stdin = subprocess.PIPE).

si on veut pouvoir récupérer des données de la sortie standard et de la sortie d'erreur du process, il faut faire : 
<code>
myPopen = subprocess.Popen(['cat', '-n'], stdout = subprocess.PIPE, stderr = subprocess.PIPE).

myPopen.stdin, myPopen.stdout, myPopen.stderr : les entrées et sorties standard, quand elles ont été mises a subprocess.PIPE dans le constructeur. myPopen.stdout est de la classe file.

Exemple :

 
    import subprocess
     s = subprocess.Popen(['bc','-q'],stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
    ...
    s.stdin.write(cmde+'\n')
    s.stdin.flush()
    res = s.stdout.readline()
    print "Resultat:",res
    
s.stdin.close()
s.stdout.close()
    
Commment puis-je détecter le type d'invocation GET ou POST de mon cgi-bin ?

L'information se trouve dans le champ d'entête du message HTTP. Il s'agit de RequestMethod.

Commment savoir que le message HTTP à lire est fini ?

Le test de fin se basera sur la taille du message qui se trouve dans un champ d'entête du message HTTP. Il s'agit de Content-Lenght.

Comment accéder aux variables d’environnement en Python ?

Tout cgi-bin doit pouvoir s’appuyer sur les paramètres qui lui sont destinés et qui ont été collectés dans la variable d’environnement QUERY_STRING. En conséquence le serveur doit être capable de préparer des variables d’environnement avant de lancer le cgi-bin. Pour obtenir une variable d'environnement avec Python vous pouvez utiliser le module os et la variable environ avec par exemple :

import os 
...
if os.environ.has_key('nom_de_la_cle'):
print os.environ['nom_de_la_cle']
cours/si3/faq/faq_web_ws.txt · Dernière modification: 2017/04/12 13:49 par tigli