Dudas de principiante :)

Attila Saorin mostroratas en yahoo.es
Mar Mayo 21 12:14:37 CEST 2002


Saludos a todos,

este es mi primer mensaje a la lista, soy novato en
python, pero no programando. Tengo que escribir mi
Proyecto Fin de Carrera en python, asi que es mi
primer contacto con este lenguaje y tengo varias
dudas, me he leido la GUIA DE APRENDIZAJE DE PYTHON
(van Rossum) y he consultado en varias webs en espanol
e ingles y no he encontrado algo claro.

Voy por partes (todo esto en linux):

1) quisiera copiar un fichero de un sitio a otro, la
unica solucion encontrada es abrir el origen y el
destino y copiar todo de uno a otro (el que mas habla
sobre esto es el enlace que habeis mandado de "how to
think as Computer Scientist", de donde es esta
solucion): 

def copyFile(oldFile, newFile):
  f1 = open(oldFile, "r")
  f2 = open(newFile, "w")
  while 1:
    text = f1.read(50)
    if text == "":
      break
    f2.write(text)
  f1.close()
  f2.close()
  return

no me parece del todo bonita e imagino que podria
hacerlo de alguna otra forma mas elegante, quizas
hacer una llamada al sistema que haga la copia del
fichero como tal? no se si es la mejor opcion, con un
directorio completo seria igual?

1.1) dentro de esta opcion, para decirle que si ese
fichero existe ya en destino que haga un backup del
antiguo, creo que si deberia hacer una llamada a
sistema rename, no?

1.2) para decir los directorios de origen y destino,
simplemente pongo con comillas todo el path?
"bin/origen.txt" "home/attila/destino.txt" asi?

2) para el mismo tema de ficheros, pero para el caso
de tener que buscar un determinado texto en los
ficheros para modificarlos, es decir, retocar ficheros
de configuracion, no se como buscar una linea
determinada, he intentado encontrar algo en la
biblioteca de expresiones regulares, pero no me ha
quedado claro como hacerlo:

por ejemplo saber si en determinado fichero, nt.conf
existe la linea que diga lo que sea, si existe veo que
tiene y si no, aniado la linea que yo quiero. Veo que
deberia abrir el fichero entero y meterlo en una
variable y buscar a partir de ahi, pero tb. se dice
que puede abrir el fichero para leer o escribir o
hacer un append, pero lo normal es que yo quiera
modificar una linea en medio, seria ents con "r+"?

Bueno, no se si os han quedado claras mis dudas, si
no, intentare explicarme mejor, espero que no sean
demasiadas preguntas a la vez.

Muchas gracias de antemano.

Attila Saorin

_______________________________________________________________
Do You Yahoo!?
Yahoo! Messenger
Comunicación instantánea gratis con tu gente.
http://messenger.yahoo.es


Más información sobre la lista de distribución Python-es