¿Existe alguna forma de que al momento de ejecutar Python, este cargue una variable que pueda usar para cualquier programa?¿Hay alguna forma de que mi programa solo lea el archivo de texto una sola vez?
Citar¿Existe alguna forma de que al momento de ejecutar Python, este cargue una variable que pueda usar para cualquier programa?¿Hay alguna forma de que mi programa solo lea el archivo de texto una sola vez?hola, bienvenido al foro.si comprendí bien tu problema esta en que lees el archivo cada vez que necesitas remplazar una abreviación, de ser este el problema, yo te recomendaría que cargues el archivo en un set o diccionario con todos los valores de las abreviaciones(esto asumiendo que son del tipo key, value). después solo deberías usar ese diccionario que esta cargado en memoria.espero que te sea útil y disculpa la tardanza de la respuesta.
eey, gracias por tu respuesta. Te comento que de hecho ya había pensado en utilizar un diccionario, el problema es que los dicconarios son en formato [key] --> [value] y en este caso la parte de [value] es de uno o más valores y también está el hecho de que estamos hablando de un diccionario que es de mas de un millón de registros. Podría usar una base de datos, pero no es posible jejejecomo ven? alguna idea? Saludotes
Cita de: "b.to"eey, gracias por tu respuesta. Te comento que de hecho ya había pensado en utilizar un diccionario, el problema es que los dicconarios son en formato [key] --> [value] y en este caso la parte de [value] es de uno o más valores y también está el hecho de que estamos hablando de un diccionario que es de mas de un millón de registros. Podría usar una base de datos, pero no es posible jejejecomo ven? alguna idea? SaludotesPodrías poner algunos datos de ejemplo para tener una mejor idea?Estas usando Python 2.5?nrm
el programa procesa un entrada de datos a la vez?existe la posibilidad de que te pases a Python 2.5?nrm
Hola, fijate si esto te ayuda un poco.Código: Textimport sys def leer_archivo(): try: arch = open("/home/joaco/programacion/linux/palabras.txt") except IOError: print "Archivo no encontrado." sys.exit(1) # inicializamos el diccionario correspondencias = {} # una de las tantas maneras de crear un diccionario correspondencias=dict([(linea[:-1].split()[0], linea[:-1].split()[1:len(linea)]) for linea in arch.readlines()]) return correspondencias if __name__ == "__main__": d = leer_archivo() for val, abr in d.iteritems(): if sys.argv[1] in abr: print val No lo probe con un archivo grande, si queres pasame el tuyo y lo pruebo.Saludos.
Por otro lado, tengo un archivo plano (de 450 mil linead) en el que tengo una lista en la que el pirimer valor en de cada linea corresponde a un texto estandarizado al que corresponden el resto de los valores en esa misma linea, algo como lo siguiente:"HERNANDEZ, HDZ. HDZ, HNDZ, HRDEZ, HRNDEZ""MARIA, MA., MA""FRANCISCO, FCO., FRCISCO,"