Programación Web y Scripting > Python

 Borrar Líneas De Un Archivo

(1/1)

RadicalEd:
Hola chicos de SoloCodigo, tengo una pregunta pregunta como siempre, estoy haciendo un pequeño shell en python para el manejo del proxy de la empresa, estoy escribiendo sobre unos ficheros y todo bien, ahora quisiera saber como buscar un dato en si y eliminarlo, tengo esto todo me funciona pero me quedo en lo de eliminar el dato.
Los puntos es para lo de la identación.

--- Código: Text ---#! /usr/bin/python# Desarrollado por RadicalEdimport osimport sys os.system('clear') def menu():...capt = 0...while capt <1 or capt>8:......print('ESCOJA QUE DESEA HACER')......print('(1) Agregar IP')......print('(2) Agregar Página')......print('(3) Eliminar IP')......print('(4) Eliminar Página')......print('(5) Ver IP\'s guardadas')......print('(6) Ver páginas guardadas')......print('(7) Reiniciar Proxy')......print('(8) Salir')......capt = int(raw_input('Opción: '))......return capt capt=0while capt != 16:...capt = menu()...if capt == 1:......h=raw_input('Digite IP: ')......f = open(r'./allow.raed', 'a')......f.write(h+'\n')......f.close()...elif capt == 2:......h=raw_input('Digite página: www.')......f = open(r'./allow.sites', 'a')......f.write(h+'\n')......f.close()...elif capt == 3:......file = open('./allow.raed')......ip = raw_input('Digite IP a eliminar: ')......while 1:.........line = file.readline().........if line == ip+'\n':............print 'La IP si ta'............print line,.........if not line: break...elif capt == 4:......file = open('./allow.sites')......pagi = raw_input('Digite página a eliminar: ')......while 1:.........line = file.readline().........if line == pagi+'\n':............print 'La página si ta'............print line,.........if not line: break...elif capt == 5:......print file('./allow.raed').read()...elif capt == 6:......print file('./allow.sites').read()...elif capt == 7:......os.system('service squid restart')...elif capt == 8:......sys.exit() Alguna ayuda???

Gracias Chao

NRM:
en este momento solo se me ocurre esta forma.


--- Código: Text ---output = ""fdi = open("c:\\note.txt", "r")for line in fdi:  if line.strip() != "line 2":    output += linefdi.close()fdo = open("c:\\note.txt", "w")fdo.write(output)fdo.close() 
como algo extra, te recomiendo que uses el modulo cmd[1] para hacer scripts que tengan un sistema de menus como el que pusiste arriba.

nrm

[1] - http://docs.python.org/lib/module-cmd.html

RadicalEd:
Thanks NRM quedo full, mira por el momento lo deje de esta forma, mientras aprendo a manejar el cmd:

--- Código: Text ---#! /usr/bin/python# Desarrollado por RadicalEdimport osimport sys os.system('clear') def menu():    capt = 0    while capt <1 or capt>8:        print('ESCOJA QUE DESEA HACER')        print('(1) Agregar IP')        print('(2) Agregar Página')        print('(3) Eliminar IP')        print('(4) Eliminar Página')        print('(5) Ver IP\'s guardadas')        print('(6) Ver páginas guardadas')        print('(7) Reiniciar Proxy')        print('(8) Salir')        capt = int(raw_input('Opción: '))        return capt capt=0while capt != 16:    capt = menu()    if capt == 1:        h=raw_input('Digite IP: ')        f = open(r'./allow.raed', 'a')        f.write(h+'\n')        f.close()    elif capt == 2:        h=raw_input('Digite página: www.')        f = open(r'./allow.sites', 'a')        f.write(h+'\n')        f.close()    elif capt == 3:        output = ""        ip = raw_input('Digite IP a eliminar: ')        f = open("./allow.raed", "r")        for line in f:            if line.strip() != ip:                output += line        f.close()        f = open("./allow.raed", "w")        f.write(output)        f.close()    elif capt == 4:        output = ""        pag = raw_input('Digite página a eliminar: www.')        f = open("./allow.sites", "r")        for line in f:            if line.strip() != pag:                output += line        f.close()        f = open("./allow.sites", "w")        f.write(output)        f.close()    elif capt == 5:        print file('./allow.raed').read()    elif capt == 6:        print file('./allow.sites').read()    elif capt == 7:        os.system('service squid restart')    elif capt == 8:        sys.exit()   

Navegación

[0] Índice de Mensajes

Ir a la versión completa