Python - Definir función que abre un archivo

 
Vista:
sin imagen de perfil

Definir función que abre un archivo

Publicado por xzibitrl (17 intervenciones) el 05/01/2016 04:25:36
Como puedo definir una función que abra un archivo por ejemplo:

1
2
3
def abrirArchivo(entrada):
    archivo = open(entrada + ".txt")
    return archivo

algo como eso, pero que al definir otra función pueda acceder a "archivo" , por ejemplo para recorrer sus lineas.

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Definir función que abre un archivo

Publicado por xve (1646 intervenciones) el 05/01/2016 11:12:32
Hola, te falta indicar el modo de apertura, y indicar lea el archivo... algo así:
1
2
3
def abrirArchivo(entrada):
    archivo = open(entrada + ".txt", "r")
    return archivo.read()

te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Definir función que abre un archivo

Publicado por xzibitrl (17 intervenciones) el 06/01/2016 04:09:22
Me dice que archivo no esta definido :/

Este es el codgo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def abreArchivos(pacientes, visitas):
    archivoPacientes = open(pacientes + '.txt', 'r')
    archivoVisitas = open(visitas + '.txt', 'r')
    return archivoPacientes.read(), archivoVisitas.read()
 
def costo_total_paciente(RUT):
    for linea in archivoPacientes:
        if rut == linea.split(':')[0]:
            print 'El costo es:', linea.split(':')[0]   #AUN NO SE SI ESTO ESTA BIEN ESCRITO, NO LO PUEDO COMPROBAR POR EL ERROR.
 
pacientes = raw_input('Ingrese nombre del archivo con datos del paciente:')
costos = raw_input('Ingrese nombre del archivo con gastos del paciente:')
abreArchivos(pacientes, costos)
 
rut = raw_input('Ingrese rut a consultar:')
costo_total_paciente(rut)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Definir función que abre un archivo

Publicado por xve (1646 intervenciones) el 06/01/2016 14:50:12
Creo que tienes algo mal... llamas a la función abreArchivos, pero no capturas lo que devuelve¿? y en la función costo_total_paciente, intentas leer las lineas de archivoPacientes, cuando en esa función no existe esa variable¿?

No se si así te soluciona el error, el cual no indicas en que linea te da dicho error.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def abreArchivos(pacientes, visitas):
    archivoPacientes = open(pacientes + '.txt', 'r')
    archivoVisitas = open(visitas + '.txt', 'r')
    return archivoPacientes.read(), archivoVisitas.read()
 
def costo_total_paciente(RUT,archivoPacientes):
    for linea in archivoPacientes:
        if rut == linea.split(':')[0]:
            print 'El costo es:', linea.split(':')[0]   #AUN NO SE SI ESTO ESTA BIEN ESCRITO, NO LO PUEDO COMPROBAR POR EL ERROR.
 
pacientes = raw_input('Ingrese nombre del archivo con datos del paciente:')
costos = raw_input('Ingrese nombre del archivo con gastos del paciente:')
(archivoPacientes,archivoVisitas)=abreArchivos(pacientes, costos)
 
rut = raw_input('Ingrese rut a consultar:')
costo_total_paciente(rut,archivoPacientes)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Definir función que abre un archivo

Publicado por xzibitrl (17 intervenciones) el 08/01/2016 04:13:56
Muchas Gracias, me ha servido solo tuve que arreglar un detalle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar