🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #7546

Re: Importar modulos en python

#7546
From: David Asorey Álvarez
Date: Wed, 12 Feb 2003 20:50
70 lines
3559 bytes
Con fecha Wed, 12 Feb 2003 12:19:50 +0000 (UTC)
ear@NOemulinuxSPAM.net ( Ear3ndil ) escribi�:

#!/> Hola a todos. Tengo un peque�o problemilla al intentar importar un
#!/> modulo. Resulta que necesito crear un archivo en cada directorio
#!/> home de cada usuario, ya que cada usuario tiene sus distintas
#!/> opciones&variables.  
#!/> Asi pues, habia pensado en crear un modulo.py en cada usuario home
#!/> y cogerlo 
#!/> con import en cuanto necesitase dichas variables. Hasta ahi no hay
#!/> problema. 
#!/> El problema viene en que ese modulo ha de estar oculto y con import
#!/> no puedo 
#!/> importar un modulo oculto (o al menos yo no se:). 
#!/>  
#!/> �Alguien sabe como importar (con import o lo que sea) un modulo
#!/> oculto?   
#!/> Nada, gracias a todos:) 
#!/>  

   En vez de importar un m�dulo, puedes probar con el m�dulo pickle. Lo
que hace es volcar un objeto python (una lista, diccionario, clase, lo
que sea) a un fichero (que puede tener el nombre que t� quieras, p. ej.:
.mi_fich_config). En el fichero vuelcas lo que quieras y luego lo
recuperas. Es asombrosamente �til.
   Tengo un programita en el que utilizo el m�dulo pickle para lo mismo
que t� quieres: vuelco un diccionario con las preferencias del usuario a
un fichero. Te pego un extracto del programa. 
(El diccionario preferences guarda las preferencias del usuario)

import pickle
# ....
# ....
def read_preferences(self):
	self.preferences = {}
	try:
		f=open("prefs", "r")
		self.preferences = pickle.load(f)
		# Si existe el fichero, lo "cargamos"
	except:
		self.preferences = {    
                       # Valores por defecto si no existe el fichero
					'patch': '1', 'channel': '1', 'bpm': '60', \
					'vel': '110', 'last_instrument': 'None', \
					'notelen': '2', 'repeat': '8', 'lang': 'en'
				    }
		self.save_preferences()
def save_preferences(self):
	try:
		f=open("prefs", "w")
		pickle.dump(self.preferences, f)  
                # Volcamos las preferencias al fichero
		return 1
	except:
		return 0
# ....
# ....

   Puedes verlo entero en:
 http://www.geocities.com/forodejazz/programacion/pytuner/index.html

   En la documentaci�n de Python, en el tutorial, viene muy bien
explicado:
 http://www.python.org/doc/current/tut/node9.html

�Espero que te sirva!

Un saludo.

David.
Technical Details
Message-ID: <20030212215050.60651f22.forodejazz@yahoo.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!news.rediris.es!bashful.rediris.es!nsnmrro1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!not-for-mail
References: <b2de56$ekk$1@nazgul.local>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,ed331d6d6f636745
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-02-12 12:53:15 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!news.rediris.es!bashful.rediris.es!nsnmrro1-lo.nuria.telefonica-data.net!nsnmrro2-lo.nuria.telefonica-data.net!not-for-mail
From: David Asorey Álvarez <forodejazz@yahoo.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Importar modulos en python
Date: Wed, 12 Feb 2003 21:50:50 +0100
Organization: Telefonica Data Espagna
Lines: 70
Message-ID: <20030212215050.60651f22.forodejazz@yahoo.es>
References: <b2de56$ekk$1@nazgul.local>
NNTP-Posting-Host: 193-153-118-198.uc.nombres.ttd.es
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: nsnmrro2-gest.nuria.telefonica-data.net 1045083191 5484 193.153.118.198 (12 Feb 2003 20:53:11 GMT)
X-Complaints-To: usenet@nsnmrro2-gest.nuria.telefonica-data.net
NNTP-Posting-Date: Wed, 12 Feb 2003 20:53:11 +0000 (UTC)
X-Newsreader: Sylpheed version 0.7.4 (GTK+ 1.2.10; i386-debian-linux-gnu)