Je debute en python et veux faire un script !

Fermé
jooshig Messages postés 40 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 9 janvier 2008 - 15 janv. 2007 à 14:02
goup Messages postés 46 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 26 décembre 2009 - 2 juin 2008 à 21:08
Bonjour,

Eh oui, je ne doute de rien ....

Je me suis lance dans l'apprentissage de Python dans le but premier de concevoir un programme de recuperation de messages de forums.
L'etude de Python m'interesse beaucoup parce que j'ai compris que ce langage permet de faire beaucoup de choses.
Mais je voudrais parvenir rapidement a ecrire le programme que je vise, meme si la premiere version ne sera pas parfaite.

Mon probleme est qu'il me faut donc a la fois apprendre Python et concevoir mon algorithme sans connaitre les elements de Python qui vont m'etre utiles.

Apprendre Python ne m'est pas trop difficile, ayant fait de la prog en Turbo Pascal il ya bien longtemps.
Par contre il faut que je plonge dans les modules Python pour comprendre ceux qui me seront utiles + dans l'organisation des pages web en html + les expressions regulieres, tout ca a la fois. Ca fait beaucoup.

On m'a deja donne quelques tuyaux ici sur ccm. On m'a parle des modules urllib2, clientcookie, des expressions regulieres (merci kilian, jipicy et lami20j) mais je rame, je ne sais pas par quel bout prendre les choses.

- Je ne vois pas trop la difference entre urllib2 et clientcookie, pas encore pu etudier ca a fond.
Et d'ailleurs, quelle difference entre urllib et urllib2 ? Le premier est ancien et n'est plus utile ou est-il different ?

- Où puis je trouver un tutoriel sur les expressions regulieres DE PYTHON, pas de php ou perl etc.

- Surtout, je cherche des scripts de collecte de donnees sur le web deja ecrits afin de m'en servir comme base de depart a la fois pour concevoir mon prog et pour apprendre Python par les aspects qui me seront les plus immediatement utiles, plutot que d'etudier pendant 15 jours tout Python pour y trouver ce dont j'aurai besoin.
Je cherche notamment un script de sebsauvage qu'il avait ecrit , en 2002 je crois, pour recuperer des donnees sur le site Ult i ma Strasbourg, maisje n'arrive pas a le retrouver

- Et puis je suis preneur de tout conseil

Merci
A voir également:

14 réponses

goup Messages postés 46 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 26 décembre 2009 22
2 juin 2008 à 21:08
Pour commencer je te conseille :

Eléments de programmation en Python
8
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
15 janv. 2007 à 14:57
urllib2 et clientcookie

urllib2 s'occupe de communiquer/récupérer tout ce qui possède une URL (http://...), et de gérer les spécificités des protocoles (par exemples les codes retour HTTP: 302 (redirection), 404 (non trouvé), etc.)
(Actuellement, urllib2 sert presque exclusivement pour http).

clientcookie ne sert qu'à gérer les cookies pour urllib2, et encore, il n'est nécessaire qu'en Python 2.4 et précédents.
(Python 2.5 est capable de gérer les cookies).

Voir les exemples urllib2 et gestion des cookies dans ma page:
https://www.sebsauvage.net/python/snyppets/



Astuce: Quand tu veux faire quelquechose, toujours regarder dans la doc de Python s'il n'y aurait pas déjà un module qui le fait (ce qui arrive souvent).



Où puis je trouver un tutoriel sur les expressions regulieres DE PYTHON, pas de php ou perl etc.

Bonne question, mais je n'ai pas de lien en particulier.
Note que si c'est pour parser du HTML, les regexp ne sont pas la seule solution.
Exemple: https://www.sebsauvage.net/python/snyppets/#getlinks1 (et suivants)



Surtout, je cherche des scripts de collecte de donnees sur le web deja ecrits

Excaucé !
Il y en a plein ma page:
https://www.sebsauvage.net/python/snyppets/
(sur Google, Flickr, etc.)
(Il suffit de recherche urllib ou urllib2).

webGobbler contient des exemples (un peu plus complexes) qui vont décortiquer les pages de résultats de Google, DeviantArt, Ask.com, Yahoo...

Voir aussi:
https://sebsauvage.net/python/cbscraper.py
https://sebsauvage.net/python/bashfr_download.py
etc.

Le script Ultima est un peu spéciale, puisqu'il ne parse pas vraiment pas les pages (il connait à l'avance les paramètres).

5
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
15 janv. 2007 à 17:28
Dive into Python est excellent !
Bon choix.

Bonne lecture !


Voici deux adresses supplémentaire:
http://wikipython.flibuste.net
et
http://www.python-eggs.org/ (Liens classés par thèmes ; il y a également des cours de Python en français)
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 janv. 2007 à 09:33
Je ne sais pas pourquoi ces fichiers et ces dossiers sont dans C:/unzipped

Sans doute parceque le logiciel de décompression que tu as utilisé les a placés là.
Personnellement, j'utilise 7-Zip, simple et pratique.


Pourquoi faut-il que s'ouvre une autre fenetre ?

Je n'utilise pas IDLE.
J'utilise PSPad pour éditer mes programmes Python, puis une fenêtre MS-Dos pour les exécuter.

Attention: Il arrive que les programmes ne se comportent pas totalement normalement dans IDLE.



l'un de type Python File et l'autre de type Compiled Python File ?

Oui !

.py, c'est le source du programme.
.pyc c'est le programme "compilé" (dans un langage machine spécial).

Le .pyc est automatiquement créé. Tu n'as pa besoin de t'en occuper.
Si tu modifie le .py, il mettra à jour automatiquement le .pyc.
Si tu efface le .pyc, il sera automatiquement re-créé.



Python ne s'apprend quand meme pas en vidant un verre de grenadine

Il y a beaucoup de choses, oui :-)

Essaie avec ça: https://archive.framalibre.org/IMG/pdf/python_notes-2.pdf

Sinon regarde les liens tutoriaux sur le site Python Eggs (que j'ai donné): Il y a plusieurs cours en français.
Voir aussi: http://wikipython.flibuste.net/moin.py/Debuter
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jooshig Messages postés 40 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 9 janvier 2008 9
15 janv. 2007 à 17:00
salut seb
merci pour cette reponse

alors depuis que j'ai ecrit mon message j'ai effectivement decouvert
- ta page https://www.sebsauvage.net/python/
- et le site http://diveintopython.adrahon.org/

autant dire que rien qu'avec ces deux liens, j'ai de quoi faire

Astuce: Quand tu veux faire quelquechose, toujours regarder dans la doc de Python s'il n'y aurait pas déjà un module qui le fait (ce qui arrive souvent).
C'est exactement ce que j'avais compris. Le hic, c'est que je ne peux pas regarder dans la doc Python en ne parcourant que les noms des modules, parce que je ne sais pas ce qu'ils font. Il faut que je rentre dans la description de chaque module pour en avoir une idee....et comme ca renvoit a d'autres notions de Python en amont ou a des notions d'html que je ne connais pas non plus, je progresse lentement.

Heureusement que des coups de pouce comme celui-ci me font economiser du temps:
clientcookie ne sert qu'à gérer les cookies pour urllib2, et encore, il n'est nécessaire qu'en Python 2.4 et précédents.
(Python 2.5 est capable de gérer les cookies).



Important:
Le script Ultima est un peu spéciale, puisqu'il ne parse pas vraiment pas les pages (il connait à l'avance les paramètres).
Ceci a fait tilt. Je pense que je suis dans le meme cas, c'est a dire que je n'ai pas a parser.
En premier objectif en effet , je veux ecrire un programme qui automatise les actions de Copier/Coller que je fais actuellement a la main entre un forum precis dont l'adresse est stable et un fichier texte recepteur.
Mais pour commencer, je ne veux pas lancer le programme sur le forum et qu'il se debrouille ensuite a rechercher et Copier/Coller toutes les files.
Je veux plutot pouvoir lancer le programme sur chaque file du forum, individuellement, et en selectionnant moi-meme chaque file qui m'interesse.
Rien que ca, ce serait deja une economie de temps importante. Je verrai plus tard si je veux automatiser a un niveau superieur dans le forum, ou meme pouvoir lancer le programme sur plusieurs forums successivement.

Bref, comme la presentation du forum est stable et les files reperees de facon stable toujours de la meme facon, il se peut qu'il ne soit pas necessaire de parser a chaque fois la page du forum.
Pas encore tres clair. pour moi.

Je retourne me plonger dans http://diveintopython.adrahon.org/ et dans les scripts disponibles sur ton site.
Je n'echapperai pas a un travail personnel a faire pour connaitre un peu Python.

Merci pour l'attention
0
jooshig Messages postés 40 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 9 janvier 2008 9
15 janv. 2007 à 17:54
help

etant donne ceci:
clientcookie ne sert qu'à gérer les cookies pour urllib2, et encore, il n'est nécessaire qu'en Python 2.4 et précédents.
(Python 2.5 est capable de gérer les cookies).

je voulais telecharger Python 2.5


sous Windows, http://diveintopython.adrahon.org/installing_python/windows.html recommande de telecharger ActivePython a l'adresse https://www.activestate.com/products/python/downloads/
qui ne fournit que Python 2.4.3.11

y a t il un avantage a utiliser Active Python par rapport a autre chose ?


Sur https://www.python.org/download/releases/
on peut telecharger
Python 2.5 de September 19, 2006
Python 2.4.4 de October 18, 2006
Python 2.3.6 de November 1, 2006
Comment se fait-il que 2,5 est plus vieux que 2.4.4 qui est plus vieux que 2.3.6 ?????????

salut
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
15 janv. 2007 à 17:58
Je ne recommande pas ActivePython. Ils sont toujours en retard par rapport à la verison officielle.
Prend celle qui est sur https://www.python.org/

Le principal avantage d'ActivePython, c'est le contrôle ActiveX et l'inclusion par défaut des extensions Win32 (mais on peut de toute façon les installer séparément).


Comment se fait-il que 2,5 est plus vieux que 2.4.4 qui est plus vieux que 2.3.6 ?????????

Bonne question.
Je pense qu'il s'agit de release de maintenance sur les anciennes versions.

Je te conseille fortement de prendre la 2.5.
0
jooshig Messages postés 40 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 9 janvier 2008 9
15 janv. 2007 à 18:29
maintenance sur anciennes versions....ah, OK, fallait y penser

OK pour la 2.5

Mais quand meme, c'est fou:
sur la page https://www.python.org/download/releases/2.5/
ils expliquent

Starting with the Python 2.4 releases the Windows Python installer is being distributed as a Microsoft Installer (.msi) file. To use this, the Windows system must support Microsoft Installer 2.0. Just save the installer file, Python-2.5.msi, to your local machine, then double-click python-2.5.msi to find out if your machine supports MSI. If it doesn't, you'll need to install Microsoft Installer first. Many other packages (such as Word and Office) also include MSI, so you may already have it on your system. If not, you can download it freely from Microsoft for Windows 95, 98 and Me and for Windows NT 4.0 and 2000. Windows XP and later already have MSI; many older machines will already have MSI installed.

The new format installer allows for automated installation and many other shiny new features. There are also separate installers for Win64-Itanium users (on XP/2003 64-bit Itanium Edition) - Python-2.5.ia64.msi and for Win64 users on AMD64 machines (on XP/2003/Vista x64 Edition) - Python-2.5.amd64.msi.

Windows users may also be interested in Mark Hammond's win32all package, available from Sourceforge. win32all adds a number of Windows-specific extensions to Python, including COM support and the Pythonwin IDE.

Users of Mac OS X 10.3 and later can install a universal binary (suitable for both PowerPC and Intel machines) from python-2.5-macosx.dmg . Download to the desktop and open the .dmg file to install.

All others should download either python-2.5.tgz or python-2.5.tar.bz2, the source archive. The tar.bz2 is considerably smaller, so get that one if your system has the appropriate tools to deal with it. Unpack it with tar -zxvf Python-2.5.tgz (or bzcat Python-2.5.tar.bz2 | tar -xf -). Change to the Python-2.5 directory and run the "./configure", "make", "make install" commands to compile and install Python.

Since this is a new version of Python, you may want to use the "make altinstall" command instead of "make install" - this will install a "python2.5" binary without touching the existing "python" binary.

The source archive is also suitable for Windows users who feel the need to build their own version.


eh bien je n'y comprends RIEN !! ; les msi. , les COM support , les .tgz , les .tar.bz2 , les 'make altinstall' ........... -@!@-

j'ai pas cherche a comprendre, j'ai installe comme ca venait
inch Allah

J'ai trouve ca aussi. Marrant
Certaines personnes, face à un problème, se disent «je sais, je vais utiliser une expression régulière.» Maintenant elles ont deux problèmes.
--Jamie Zawinski, dans comp.emacs.xemacs


Salam aleikoum
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
15 janv. 2007 à 21:09
j'ai pas cherche a comprendre, j'ai installe comme ca venait

En fait, ils proposent plusieurs manière d'installer.
Pour Windows, il suffit de prend le .msi, sans se poser de questions.


Certaines personnes, face à un problème, se disent «je sais, je vais utiliser une expression régulière.» Maintenant elles ont deux problèmes.

Et c'est pas faux !
Je suis un peu du même avis.
Il y a des inconvénients à utiliser des regexp, et la plupart des gens ne s'en rendent pas compte.
(En anglais: https://sebsauvage.net/python/snyppets/index.html#noregexp
S'il y a besoin, je peux te traduire ça.)

0
jooshig Messages postés 40 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 9 janvier 2008 9
16 janv. 2007 à 00:27
salut

A la page http://diveintopython.adrahon.org/getting_to_know_python/index.html
j'ai clique sur 'télécharger cet exemple ainsi que les autres exemples '
afin de faire l'essai propose sur un exemple nomme odbchelper.

J'ai maintenant un dossier C:\unzipped\diveintopython-examples-5.4[1]\diveintopython-5.4\py contenant 2 fichiers odbchelper

Je ne sais pas pourquoi ces fichiers et ces dossiers sont dans C:/unzipped

Apres avoir lance IDLE (Python GUI) qui m'ouvre une fenetre Python Shell, je fais File/Open ce qui ouvre une fenetre Open dans laquelle je vais jusqu'a C:\unzipped\diveintopython-examples-5.4[1]\diveintopython-5.4\py pour ouvrir obdchelper.
Il apparait alors une nouvelle fenetre IDLE contenant le script de odbchelper.

Qu'est ce qui se passe quand l'autre fenetre s'ouvre avec le script ?
Pourquoi faut-il que s'ouvre une autre fenetre ?
J'ai remarque que dans C:\unzipped\diveintopython-examples-5.4[1]\diveintopython-5.4\py , il y a deux fichiers obdchelper, l'un de type Python File et l'autre de type Compiled Python File ?
D'ou sort le second ? Je ne le vois pas dans la fenetre d'open quand je fais File/Open. Est ce qu'il est cree quand on ouvre le fichier odbchelper de type Python File ?

Je bidouille des trucs pour faire apparaitre des scripts telecharges, mais en fait je ne comprends pas ce que je fais.

Merci pour tout eclaircissement.
0
jooshig Messages postés 40 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 9 janvier 2008 9
16 janv. 2007 à 00:44
Vu ton message apres , seb
merci

Pour le moment, j'ai lu les 7 premiers chapitres de 'Apprendre a programmer avec Python' de Gerard Swinnen. Mais je trouve trop soucieux de pedagogie a destination d'eleves de lycee, me semble t il.
Aussi je suis passe a ' Dive into Python' en francais, dont l'esprit me plait bien et j'ai lu les 3 premiers chapitres.
Je me suis bien marre en lisant ca:
"Une liste Python est bien plus qu'un tableau en Java (même s'il peut être utilisé comme tel si vous n'attendez vraiment rien de mieux de la vie). "

Je n'ai pas encore regarde tes scripts ou d'autres. J'aime pas trop etre superficiel dans la comprehension des choses, il faut que j'apprenne quand meme d'abord les notions par le bon bout et Python ne s'apprend quand meme pas en vidant un verre de grenadine.

merci. a +
0
jooshig Messages postés 40 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 9 janvier 2008 9
16 janv. 2007 à 12:02
aaaaaarrggh.....

J'evalue a 1 mois 1/2 le temps necessaire pour lire de facon serieuse mais rapide quand meme un cours complet sur Python , tel que Dive into Python, et pour seulement commencer a avoir une connaissance sommaire mais serieuse des outils disponibles, et pouvoir ainsi concevoir le programme auquel je pense.

C'est trop long.
Je n'abandonne pas mon desir d'apprendre Python, mais ca va etre plus long que je souhaiterais.
Pour ce qui est d'un programme, je baisse donc pour le moment ma lunette de visee et je voudrais essayer d'ecrire un script qui fasse un presse-papier cumulatif.

-- Y a-t-il dans la bibliotheque de fonctions ou de modules de Python un outil de surveillance permanente qui me permettrait de detecter tout renouvellement de contenu dans le presse-papier Windows ? --

Si un tel outil existe, je pourrais l'utiliser pour declencher la copie de tout nouveau contenu apparaissant dans le presse-papier cree par un Copier, et reecrire ce nouveau contenu directement dans un fichier texte a la suite des Copier precedemment captures.

Dans un premier temps, ce serait plus simple que je procede ainsi:
selection de texte dans une page web et Copier,
sans faire d'aller et retour entre le web et le fichier texte recepteur.
J'arrive mieux a imaginer un programme pour ca que pour une extraction de textes dans une page web a partir de la seule URL.

Merci pour un eventuel tuyau.

Je vais chercher dans la jungle des docs.

Salut
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 janv. 2007 à 14:10
presse-papier Windows

Je n'ai jamais creusé de ce côté là, mais Google devrait t'apporter de nombreuses réponses:
https://www.google.com/search?q=python%20clipboard&gws_rd=ssl

Il faudra probablement passer par l'API Win32 (soit avec ctypes, soit avec le module win32all), ou bien utiliser ce qui est fourni dans l'excellent wxPython (il me semble qu'il y a de quoi accéder au presse-papier, à vérifier).
0
bonjour,

j'ai installé récemment python sous vista mais j'ai rencontré un problème dès la première prise en main.
en fait, après l'avoir installlé, j'ai lancé IDLE et il marchait parfaitement. je l'ai quitté, 5mn après je l'ai relancé pour voir s'il fonctionne mais mauvaise surprise, il ne s'ouvre plus. alors j'ai supprimé python et l'ai réinstallé de nouveau, mais en vain. j'ai même debloqué le programme mais sans résultat.
à ce stade, je vois plus d'idée et je vous soumets le problème si vous y voyez un peu.

merci!
0
j'ai le meme probleme si jamais tu as trouvé merci de m'indiquer comment tu as fait

merci
0