[Python] Leer documentos.

Iniciado por Meta, 3 Noviembre 2010, 20:11 PM

0 Miembros y 4 Visitantes están viendo este tema.

Meta

;)

Este ejercicio si que lo veo todo negro.

Ver ejercicio.

Parace que hay qu ehacer algo de esto.


  • - Introduces el nombre de un fichero. (Por ejemplo, documento.doc).
    - Introducir el nombre de otro fichero. (Por ejemplo, tema.1.tex). (Este tiene dos puntos, ya me lió).
    - Si el fichero no tiene punto, la pantalla avisa que está vacío.
    - Cuando detecte un archivo con un punto, mostrará en pantalla sólo la extensión del archiv. (Por ejemplo, doc, tex).
;)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

VirajeCR

Ey, le has entrado tanto a esto de Python que ya hasta ganas de leer el libro ese que estás leyendo me dan.  :laugh:

Meta

Cita de: VirajeCR en  3 Noviembre 2010, 20:17 PM
Ey, le has entrado tanto a esto de Python que ya hasta ganas de leer el libro ese que estás leyendo me dan.  :laugh:

Eres el segundo que ha dicho esto. jejeje.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

braulio--

Puedes empezar a comprobar el nombre del fichero por atrás, no sé si me entiendes. Si detecta un punto guardas la posición y la extensión es :
Código (python) [Seleccionar]
nombrefichero[posicion:]
Supongo que has llegado a los slices (creo recordar que se llamaban así)

Shell Root

Código (python) [Seleccionar]
# @Display the file extension
# @Shell Root
# @Python - 2010

import os
sFileExtension = os.path.splitext('tema.1.tex')[1]
print "La extension es: ", sFileExtension
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Meta

#5
Gracias a todos.

Este funciona.
Código (python) [Seleccionar]
data = nombre_del_archivo.split('.')
if len(data) >= 2:
   print data[-1]
else:
   print "Archivo sin extension"


http://docs.python.org/library/stdtypes.html#str.split



Edito:
Quiero hacerlo que cuando introduzca un archivo. Me de un resultado y me vuelva a preguntar siempre que introduzca el nombre del archivo. Lo he intentado hacer así pero no me sale.

Código (python) [Seleccionar]
nombre_del_archivo = raw_input('Nombre del archivo: ')

while nombre_del_archivo != '':
    data = nombre_del_archivo.split('.')
    if len(data) >= 2:
        print data[-1]
    else:
        print 'Archivo sin extensión.'
        break
nombre_del_archivo = raw_input('Nombre del archivo: ')
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Shell Root

Código (PoC) [Seleccionar]
alex@shellroot:~/Escritorio$ python PoC.py
Nombre del archivo: jpeg
Archivo sin extension


FAIL!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

.:WindHack:.

¿Te refieres a esto Meta?

Código (python) [Seleccionar]
while True:
    sFile = raw_input('Nombre del archivo: ')
    sData = sFile.split('.')
    if len(sData) >= 2:
        print sData[-1]
    else:
        print 'Archivo sin extension.\n'


-
Código (batch) [Seleccionar]
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.

C:\Users\WindHack>C:\Users\WindHack\Desktop\cTest.py
Nombre del archivo: xD.txt
txt
Nombre del archivo: hola.jpg
jpg
Nombre del archivo: hola
Archivo sin extension

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."

Meta

Ya me salió.

Código (python) [Seleccionar]
nombre_del_archivo = raw_input('Nombre del archivo: ')

while nombre_del_archivo != '':
    data = nombre_del_archivo.split('.')
    if len(data) >= 2:
        print data[-1]
    else:
        print 'Archivo sin extensión.'

     nombre_del_archivo = raw_input('Nombre del archivo: ')
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

braulio--

Cita de: Shell Root en  4 Noviembre 2010, 01:34 AM
Código (PoC) [Seleccionar]
alex@shellroot:~/Escritorio$ python PoC.py
Nombre del archivo: jpeg
Archivo sin extension


FAIL!
Fail por?