Accueil > > > LE GLOUTON ! [MANGE ET RECRACHE LES FICHIERS QU IL TROUVE DANS SON REPERTOIRE D EXECUTION]
LE GLOUTON ! [MANGE ET RECRACHE LES FICHIERS QU IL TROUVE DANS SON REPERTOIRE D EXECUTION]
Information sur la source
Description
ATTENTION - BE CAREFULL [ne pas lancer dans un répertoire dont vous n'avez pas sauvegarder le contenu au préalable] [do not run without saving the content of the execution directory] il fonctionne simplement: -vous lancer le programme avec argument [with argument] il mange les fichiers[eat] -vous lancer le programme sans argument [witout argument] et il les recraches.[shit] attention c'est mon premier glouton, et donc il ne mange pas encore les dossiers, Information: n'essayer pas de lui faire manger des fichiers dont la taille unitaire est supérieur à environ 250 Ko(variable suivant la config) sous risque de devoir attendre longtemps... Il fonctionne bien mieux pour ingérer des petits fichiers mais en grand nombre (de cette manière il est possible de stoker quelques megaoctets sans trop de temps d'attente). Il recrache bien plus vite qu'il mange =) Il est aussi trés gourmand (pour un glouton c'est normal.!) en ressource processeur lors de la conversion des fichiers avant de les ingérer ou de les recracher). #l'affichage du pourcentage de l'evolution de la conversion fait perde beaucoup de temps de calcul voila pourquoi ils est laisser en commentaires# Bonne journée! :-)
Source
- ##########################################################################
- #C'est un glouton, #
- #Ce fichier ingere tout les autres fichiers qu il trouve dans le #
- #repertoire ou il s'execute en les convertissant au prealable en chaine #
- #de type ascii si il est executer avec un argument. #
- #et les recraches a l endroit ou il se situe si il est executer sans #
- #un argument #
- # #
- #[grosse attention !!! SVP penser a le placer dans un dossier #
- #vide pour l'essayer la premiere fois, sinon il gobera tout les fichiers.#
- #et ne jamais l'executer a la racine !!!] #
- ##########################################################################
-
- import os,sys,string,time,datetime
- heresplit="#####"+" DO NOT REMOVE"
-
- def convStoH(string):
- #convertit une chaine de caractere en int-char
- H=""
- cp=0
- for each in string:
- cp=cp+1
- H=H+str(ord(each))+'-'
- # print str(float(float(cp*100)/float(len(string)))) +'% of the file'
- return H
-
- def convHtoS(hstring):
- #convertit une suite de int-char en chaine de caractere
- tmp=hstring.split('-')
- S=''
- cp=0
- for each in tmp:
- if len(each)>0:
- cp=cp+len(each)+1
- S=S+chr(int(each))
- # print str(float(float(cp*100)/float(len(hstring)))) +'% of the file'
- return S
-
- def eject(name,content):
- sep='/'
- n=convHtoS(name).split(sep)
- open(n[len(n)-1],'w').write(convHtoS(content))
-
- def eating(_file):
- sep='/'
- currentdir=os.getcwd()
- myfile=open(currentdir+sep+ _file,'r').read()
- name=convStoH(currentdir+sep+_file)
- content=convStoH(myfile)
- name='#N#'+name
- content='#C#'+content
- me=open(currentdir+sep+sys.argv[0],'r').read()
- open(currentdir+sep+sys.argv[0],'w').write(me+name+content)
- #decommenter seulement si vous etes sur d'avoir sauvegarde le repertoire
- #os.system('rm "'+_file+'"')
-
-
- def CheckDir():
- checksplit()
- currentdir=os.getcwd()
- cd=os.listdir(currentdir)
- myname=sys.argv[0]
- for eachfile in cd:
- if str(eachfile).find(myname)==-1:
- eating(eachfile)
-
- def CheckMe():
- checksplit()
- me=open(sys.argv[0],'r').read()
- temp=me.split(heresplit)[1]
- if len(temp)>1:
- t= temp.replace('\n','').split('#N#')
- for each in t:
- if len(each)>0 and each.find('#C#')>-1:
- name=each.split('#C#')[0]
- content=each.split('#C#')[1]
- eject(name,content)
- me=open(sys.argv[0],'r').read().split(heresplit)[0]
- open(sys.argv[0],'w').write(me)
-
-
- def checksplit():
- me=open(sys.argv[0],'r').read()
- if me.find(heresplit)==-1:
- myname=sys.argv[0]
- open(sys.argv[0],'w').write(me+heresplit)
-
-
- def main():
- try:
- #si il y a un argument
- arg=sys.argv[1]
- t1=datetime.datetime.now()
- CheckDir() ## manger les fichiers
- TimeEat=str(datetime.datetime.now()-t1) + " to operate the eat."
- print TimeEat
- except:
- #si il n'y a pas d argument
- t1=datetime.datetime.now()
- CheckMe() ## recracher les fichiers
- TimeShit=str(datetime.datetime.now()-t1) + " to operate the shit."
- print TimeShit
-
- main()
##########################################################################
#C'est un glouton, #
#Ce fichier ingere tout les autres fichiers qu il trouve dans le #
#repertoire ou il s'execute en les convertissant au prealable en chaine #
#de type ascii si il est executer avec un argument. #
#et les recraches a l endroit ou il se situe si il est executer sans #
#un argument #
# #
#[grosse attention !!! SVP penser a le placer dans un dossier #
#vide pour l'essayer la premiere fois, sinon il gobera tout les fichiers.#
#et ne jamais l'executer a la racine !!!] #
##########################################################################
import os,sys,string,time,datetime
heresplit="#####"+" DO NOT REMOVE"
def convStoH(string):
#convertit une chaine de caractere en int-char
H=""
cp=0
for each in string:
cp=cp+1
H=H+str(ord(each))+'-'
# print str(float(float(cp*100)/float(len(string)))) +'% of the file'
return H
def convHtoS(hstring):
#convertit une suite de int-char en chaine de caractere
tmp=hstring.split('-')
S=''
cp=0
for each in tmp:
if len(each)>0:
cp=cp+len(each)+1
S=S+chr(int(each))
# print str(float(float(cp*100)/float(len(hstring)))) +'% of the file'
return S
def eject(name,content):
sep='/'
n=convHtoS(name).split(sep)
open(n[len(n)-1],'w').write(convHtoS(content))
def eating(_file):
sep='/'
currentdir=os.getcwd()
myfile=open(currentdir+sep+ _file,'r').read()
name=convStoH(currentdir+sep+_file)
content=convStoH(myfile)
name='#N#'+name
content='#C#'+content
me=open(currentdir+sep+sys.argv[0],'r').read()
open(currentdir+sep+sys.argv[0],'w').write(me+name+content)
#decommenter seulement si vous etes sur d'avoir sauvegarde le repertoire
#os.system('rm "'+_file+'"')
def CheckDir():
checksplit()
currentdir=os.getcwd()
cd=os.listdir(currentdir)
myname=sys.argv[0]
for eachfile in cd:
if str(eachfile).find(myname)==-1:
eating(eachfile)
def CheckMe():
checksplit()
me=open(sys.argv[0],'r').read()
temp=me.split(heresplit)[1]
if len(temp)>1:
t= temp.replace('\n','').split('#N#')
for each in t:
if len(each)>0 and each.find('#C#')>-1:
name=each.split('#C#')[0]
content=each.split('#C#')[1]
eject(name,content)
me=open(sys.argv[0],'r').read().split(heresplit)[0]
open(sys.argv[0],'w').write(me)
def checksplit():
me=open(sys.argv[0],'r').read()
if me.find(heresplit)==-1:
myname=sys.argv[0]
open(sys.argv[0],'w').write(me+heresplit)
def main():
try:
#si il y a un argument
arg=sys.argv[1]
t1=datetime.datetime.now()
CheckDir() ## manger les fichiers
TimeEat=str(datetime.datetime.now()-t1) + " to operate the eat."
print TimeEat
except:
#si il n'y a pas d argument
t1=datetime.datetime.now()
CheckMe() ## recracher les fichiers
TimeShit=str(datetime.datetime.now()-t1) + " to operate the shit."
print TimeShit
main()
Conclusion
Pas vraiment utile mais un peu rigolo.
Historique
- 05 janvier 2011 09:16:17 :
- (correction d'orthographe:-)
- 09 janvier 2011 03:31:45 :
- Prise en compte du commentaire de Bacterius.
(j'avoue c'est pas tres safe, mais ca marche pour des fichiers de petite taille :-)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
probleme avec os.path.getctime() [ par Bl0tCh ]
Voilà, Donc cette fonction est censée me donner la date de creation du fichier (en secondes) mais le probleme c ke elle me donne la premiere date de c
ecrire un dico dans un fichier texte [ par airod ]
je cherche depuis un bout de temps mais rien y fait! Mon prob: je pars d'un fichier de config (*.cfg), et j'en crée un dico dans mon appli, ceci
menu contextuel au clic de souris [ par frankystadore ]
Bonjour à tous, chers programmeurs!! Je suis actuellement en train de créer une interface en Python, et j'aimerai savoir comment faire une s
Fichiers en python [ par darfeuille ]
Salut, Etant novice en python, je bloque sur un truc : Dans un de mes programmes, a un moment, je dois recopier un fichier (en le modi
Date de création des fichiers par ftp [ par judre ]
Salut, J'ai une application qui transfère une tonne de fichier par ftp en utilisant ftplib. J'aimerais savoir si y'a un truc pour tél
comment créer un fichier HTML avec Python [ par anwaarber ]
salut a tous,j'ai un problème lors de la création d'un fichier HTML avec pythonsurtout quand je fait passer des variables dans le code :def
modifier les metadonnées [ par airod ]
Je cherche a etre mis sur la voie. Comment peut on editer les champs IPTC (métadonnées) propre a une image? Faut il lire le fichier image c
Ouverture d'un fichier windows (avec Tkinter) [ par Uims ]
Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati
lire une DTD embarquée dans un fichier XML [ par 600gpx ]
Bonjour, j'ai un fichier XML que je souhaite parser avec l'outil DOM. Ce fichier contient une DTD spécifique embarquée. exemple : <!DOCT
Comment restaurer data.fs dans l' application zope? [ par rabikisa ]
Bonjour, J'ai monté un serveur Zope sous Linux et je dois mettre en place une stratégie de sauvegarde. Zope sauvegarde toutes ses configurations, les
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
974 Application Server (12.2.4.0)974 APPLICATION SERVER (12.2.4.0)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP mySongBook Player (1.0.0)MYSONGBOOK PLAYER (1.0.0)mySongBook Player est un logiciel gratuit permettant l'accès à une archive de tablatures/partitio... Cliquez pour télécharger mySongBook Player
|