Mostrando entradas con la etiqueta archivo. Mostrar todas las entradas
Mostrando entradas con la etiqueta archivo. Mostrar todas las entradas

lunes, 18 de julio de 2022

Ejercicio 16 Python. Archivo de texto

Crea un archivo de python donde abras un archivo txt y escribas texto dentro del archivo.
Despues abrir el archivo mediante codigo y mostrar el texto que contiene.

 





domingo, 8 de agosto de 2021

domingo, 30 de mayo de 2021

Lectura, escritura y manipulacion de archivos con Python

 


# guardar datos en archivo
# abrimos el archivo
escritura = open("archivo.txt", "w")
escritura.write(
    "Esto se escribe en el archivo \ny esto en la linea siguiente \n\t\t\tY esto en otra linea tabulado")
escritura.close()

# lectura de fichero
lectura = open("archivo.txt", "r")
# leemos una linea
leeLinea = lectura.readline()
print("Leyendo una linea \n"+leeLinea)
lectura.close()
# leemos todo el fichero
lectura = open("archivo.txt", "r")
# podemos usar readlines, que devuelve una lista con cada linea
leeTodo = lectura.read()
# print(type(leeTodo))
print("leemos todo \n"+leeTodo)
lectura.close()


import os
# crear carpeta o directorio
os.makedirs("MiCarpeta")
# listar el contenido
print(os.listdir("./"))
# mostrar directorio actual
print(os.getcwd())
# mostrar tamaño de carpeta o directorio
print(os.path.getsize("MiCarpeta"))
# comprobar si es archivo
print(os.path.isfile("MiCarpeta"))
# comprobar si es directorio
print(os.path.isdir("MiCarpeta"))
# cambiar de directorio
os.chdir("MiCarpeta")
print(os.getcwd())
print(os.listdir("./"))
os.chdir("../")
print(os.getcwd())
# renombrar
os.rename("MiCarpeta", "Mi_Carpeta")
# borrar archivo
# os.remove(os.getcwd()+"/archivo.txt")
# print(os.listdir("./"))
# borrar una carpeta
# os.rmdir("Mi_Carpeta")
# os.chdir("../")
# print(os.listdir("./"))

viernes, 6 de diciembre de 2019

97 Python. Agenda contactos

Crea una agenda de contactos con Python.
Incluimos menu de opciones y grabaremos los datos en archivo csv.
Usaremos clases, funciones, metodos, archivos.


El codigo utilizado es el siguiente:
# -*-coding:utf-8 -*-

"""
Created on Fri Dic 06 07:48:08 2019

@author: Jose
"""

#modulos
import csv
import itertools
import re

#clases
class Contacto:
    nuevoId=itertools.count()
    def __init__(self,nombre,apellidos,empresa,fijo,movil):
        self.codigo=next(self.nuevoId)
        self.nombre=nombre
        self.apellidos=apellidos
        self.empresa=empresa
        self.fijo=fijo
        self.movil=movil
class Agenda:
    def __init__(self):
        self.contactos=[]
    def ordenarNombre(self):
        self.contactos.sort(key=lambda contacto: contacto.nombre)
    def ordenarApellidos(self):
        self.contactos.sort(key=lambda contacto: contacto.apellidos)
    def añadir(self,nombre,apellidos,empresa,fijo,movil):
        contacto=Contacto(nombre,apellidos,empresa,fijo,movil)
        self.contactos.append(contacto)
    def mostrarTodos(self):
        self.submenuOrden()
        for contacto in self.contactos:
            self.imprimeContacto(contacto)
    def buscar(self,textoBuscar):
        encontrado=0
        for contacto in self.contactos:
            if(re.findall(textoBuscar,contacto.nombre)) or (re.findall(textoBuscar,contacto.apellidos)):
                self.imprimeContacto(contacto)
                encontrado=encontrado+1
                self.submenuBuscar(contacto.codigo)
        if encontrado==0:
            self.noEncontrado()
    def borrar(self,codigo):
        for contacto in self.contactos:
            if contacto.codigo==codigo:
                print('---*---*---*---*---*---*---*---*')
                print('Quieres borrarlo? (s/n)')
                print('---*---*---*---*---*---*---*---*')
                opcion=str(input(""))
                if opcion=='s' or opcion=='S':
                    print('Borrando contacto!!!')
                    del self.contactos[codigo]
                elif opcion=='n' or opcion=='N':
                    break
    def modificar(self,codigo):
        for contacto in self.contactos:
            if contacto.codigo==codigo:
                del self.contactos[codigo]
                nombre=str(input('Escribe el nombre: '))
                apellidos=str(input('Escribe los apellidos: '))
                empresa=str(input('Escribe la empresa: '))
                fijo=str(input('Escribe el fijo: '))
                movil=str(input('Escribe el movil: '))
                contacto=Contacto(nombre.capitalize(),apellidos.capitalize(),empresa.capitalize(),fijo,movil)
                self.contactos.append(contacto)
                break
    def submenuBuscar(self,codigo):
        print('---*---*---*---*---*---*---*---*')
        print('Quieres (m)odificarlo o (b)orrarlo? ')
        print('---*---*---*---*---*---*---*---*')
        opcion=str(input(""))
        if opcion=='m' or opcion=='M':
            self.modificar(codigo)
        elif opcion=='b' or opcion=='B':
            self.borrar(codigo)
        else:
            print('Continuamos sin realizar modificacion alguna')
    def submenuOrden(self):
        print('---*---*---*---*---*---*---*---*')
        print('Quieres ordenar por (n)ombre o por (a)pellidos?')
        print('---*---*---*---*---*---*---*---*')
        opcion=str(input(""))
        if opcion=='n' or opcion=='N':
            self.ordenarNombre()
        elif opcion=='a' or opcion=='A':
            self.ordenarApellidos()

    def grabar(self):
        with open('agenda.csv','w') as fichero:
            escribir=csv.writer(fichero)
            escribir.writerow(('codigo','nombre','apellidos','empresa','fijo','movil'))
            for contacto in self.contactos:
                escribir.writerow((contacto.codigo,contacto.nombre,contacto.apellidos,contacto.empresa,contacto.fijo,contacto.movil))
    def imprimeContacto(self,contacto):
        print('---*---*---*---*---*---*---*---*')
        print('---*---*---*---*---*---*---*---*')
        print('Codigo: {}'.format(contacto.codigo))
        print('Nombre: {}'.format(contacto.nombre))
        print('Apellidos: {}'.format(contacto.apellidos))
        print('Empresa: {}'.format(contacto.empresa))
        print('Fijo: {}'.format(contacto.fijo))
        print('Movil: {}'.format(contacto.movil))        
        print('---*---*---*---*---*---*---*---*')
        print('---*---*---*---*---*---*---*---*')
    def noEncontrado(self):
        print('---*---*---*---*---*---*---*---*')
        print('---*---*---*---*---*---*---*---*')
        print('Contacto no encontrado')
        print('---*---*---*---*---*---*---*---*')
        print('---*---*---*---*---*---*---*---*')
def ejecutar():
    agenda=Agenda()
    try:
        with open('agenda.csv','r') as fichero:
            lector=csv.DictReader(fichero,delimiter=',')
            for fila in lector:
                agenda.añadir(fila['nombre'].capitalize(),fila['apellidos'].capitalize(),fila['empresa'].capitalize(),fila['fijo'].capitalize(),fila['movil'].capitalize())
    except:
        print('Error al abrir fichero o que no existe aun')
    while True:
        menu=str(input("""
        \nSelecciona una opcion\n
        1 Mostrar lista de contactos
        2 Buscar contacto
        3 Añadir contacto
        0 Salir \n\n               
        """))
        if menu=='1':
            agenda.mostrarTodos()
        elif menu=='2':
            texto=str(input('Escribe el texto a buscar en contactos: '))
            agenda.buscar(texto.capitalize())
            agenda.grabar()
        elif menu=='3':
            nombre=str(input('Escribe el nombre: '))
            apellidos=str(input('Escribe los apellidos: '))
            empresa=str(input('Escribe la empresa: '))
            fijo=str(input('Escribe el fijo: '))
            movil=str(input('Escribe el movil: ')) 
            agenda.añadir(nombre.capitalize(),apellidos.capitalize(),empresa.capitalize(),fijo,movil)
            agenda.grabar()
        elif menu=='0':
            print('Hasta pronto!!!')
            agenda.grabar()
            break
        else:
            print('Opcion no valida!!!')
if __name__=='__main__':
    ejecutar()
        

lunes, 19 de agosto de 2019

92 Python. Aplicacion Caja diaria

Ejemplo de aplicacion creada con Python, para generar los datos que usaremos para crear los asientos contables requeridos de ventas sobre las cajas diarias.
Es una aplicacion con interfaz grafica en la que se introducen los datos de efectivo y tarjetas de dos tiendas y calcula la venta total, desglosa la base imponible y el iva, pasando seguidamente a guardar los datos en una base de datos sqlite y en un archivo de texto que imprimira inmediatamente.
Puedes ver el codigo completo en github.


jueves, 18 de abril de 2019

69 Python. Escritura / lectura de archivos

Para escribir y leer ficheros con python tenemos que realizar 3 pasos:

  1. Abrir fichero indicando si lo abrimos en modo lectura o escritura.
  2. Escribir o leer del fichero.
  3. Cerrar el fichero, en cuanto no sea necesario, con close.

Veamos un ejemplo sencillo:

#Escritura fichero
fichero=open('fichero.txt','w')
fichero.write('Escribo este texto en el fichero')
fichero.close()
#Lectura fichero
fichero=open('fichero.txt','r')
print(fichero.read())
fichero.close()

En la apertura de fichero deberiamos asegurar que no de error, para ello podriamos encerrar el codigo dentro de un bloque con try, como en el siguiente ejemplo:

#Asegurar que no de error

try:

    f=open('fichero.txt')   

print(f.read())   

print('fichero correcto')   

f.close()

except:

    print('error con el fichero')

#esto de ejecuta siempre

finally:   

print('fin de codigo')
Vamos a crear 2 funciones, una para escribir en archivos y otra para leerlos.

#Escribir

def escribe(fichero,texto):

    fichero=open(fichero,'w')

    fichero.write(texto)

    fichero.close()

#Leer

def lee(fichero):   

fichero=open(fichero,'r')   

texto=fichero.read()   

fichero.close()   

return texto

#Llamamos a las funciones

escribe('fichero.txt','hola desde llamada a funcion')

print(lee('fichero.txt'))

viernes, 12 de octubre de 2018

41 Python. Imprime archivo

En el siguiente video vemos como crear un archivo de texto con python e imprimirlo por la impresora predeterminada.


import osdef archivaImprime(di,me,an,texto):    #guarda texto en archivo con nombre fecha    fecha=str(an)+str(me)+str(di)    fecha=str(fecha+".txt")    escritura=open(fecha,"w")    escritura.write(texto)    escritura.close()    #imprime en impresora    print(texto)    os.startfile(fecha,"print")    print("fichero grabado e imprimido")    #llamamos a la funcionarchivaImprime(12,10,18,"prueba de impresion")

domingo, 18 de marzo de 2018

36 Python. Crea archivo PDF

Crea archivos PDF usando la libreria reportlab con Python.
Lo primero que vemos en el video es como instalar la libreria para Python usando pip, para ello debemos abrir nuestra ventana de comandos y dirigirnos al directorio donde tenemos instalado Python. Una vez situados en el directorio de scripts de Python, comprobamos que tenemos pip instalado y procedemos a ejecutar el comando para instalar la libreria Reportlab.
En el video podras ver la web de la libreria donde encontrar la documentacion necesaria para seguir practicando y realizar documentos mas complejos.




from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
c=canvas.Canvas("archivoPdf.pdf")
#ancho de linea
c.setLineWidth(.3)
#fuente y tamaño
c.setFont('Helvetica',14)
#dibuja texto en pos X e Y por puntos, 1pt = 1/72 pulgadas
c.drawString(120,760,"Hola en pdf!")
#pos x1 y1 x2 y2
c.line(120,700,590,747)
#circulo damos x y radio stroke y relleno
c.circle(120,720,20,1,1)
c.save()

sábado, 11 de noviembre de 2017

10 Python. Archivos

Vemos como crear archivos de textos desde Python, para grabar datos en el archivo.
Si el archivo no existe lo creara y si existe lo sobreescribe.
Pasamos despues a ver como se leen los datos del archivo.


#GUARDAR EN ARCHIVO
escritura=open("archivo.txt","w")
escritura.write("Este texto se escribe en el archivo \n y esto lo escribe en otra linea")
escritura.close()
print("fichero creado y grabado el texto")
#ABRIR ARCHIVO Y MOSTRAR DATOS
lectura=open("archivo.txt","r")
leer=lectura.read()
print("leemos todo")
print(leer)
lectura.close()
lectura=open("archivo.txt","r")
leer=lectura.readline()
print("leemos una linea")
print(leer)
lectura.close()



jueves, 3 de agosto de 2017

15 Java. Lectura y escritura en archivos de texto

Como escribir y leer archivos de texto desde java con eclipse.



import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;

public class fichero {
    public File archivo=null;
    public FileReader lector=null;
    public BufferedReader br=null;
    public FileWriter fichero=null;
    public PrintWriter escritor=null;
    void leer(String nombreArchivo){
        try {
            archivo=new File(nombreArchivo);
            lector=new FileReader(archivo);
            br=new BufferedReader(lector);
            String linea;
            while((linea=br.readLine())!=null){
                System.out.println(linea);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            try {
                if(null!=lector){
                    lector.close();
                }
            }catch(Exception e2){
                e2.printStackTrace();
            }
        }
    }
    void escribir(String nombreArchivo){
        try {
            fichero=new FileWriter(nombreArchivo);
            escritor=new PrintWriter(fichero);
            for(int i=0;i<15;i++){
                escritor.println("Linea "+i);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
           
            try {
                if(null!=escritor){
                    escritor.close();
                }
            }catch(Exception e2){
                e2.printStackTrace();
            }
        }
    }
}



public class principal {

    public static void main(String[] args) {
        fichero File=new fichero();
        File.escribir("archivoTexto.txt");
        File.leer("archivoTexto.txt");

    }

}

viernes, 20 de marzo de 2015

Html 5. Formularios

Para solicitar datos del usuario en html lo hacemos mediante formularios, el que indico como ejemplo es basico, pero sirve para entender bien como funciona.
La etiqueta usada para el formulario es form, con apertura y cierre, dentro de la apertura se indica el metodo a usar para pasar los datos, en este caso POST (metodo que oculta las variables, el otro metodo seria GET que muestra las variables en la URL o direccion web que aparece arriba en el navegador. Con dicho metodo se indica en action a que pagina se envian los datos para procesarlos.
Se indica con texto que se solicita al usuario y mediante input type indicamos que tipo de dato se recoge y su nombre de variable con name, seguidamente ponemos un boton de envio.
Para todo esto tenemos que crear 2 webs, una que envia y otra que recibe (cuando avancemos mas veremos que tambien se puede hacer desde la misma web).
Ejemplo:


<html>
<head>
<title>Formulario</title>
</head>
<body>
<form method=”post” action=”0005b.php”>
 Introduce nombre: <input type=”text” name=”nombre”> <br>
<input type=”submit” value=”enviar”>
</form>
</body>
</html>


La web que recibe se llamara 0005.php

<html>
<head>
<title>Capta nombre del formulario</title>
</head>
<body>
<?php echo “El nombre obtenido es:”;
 echo $_REQUEST['nombre'];
 ?>
</body>
</html>

lunes, 29 de septiembre de 2014

miércoles, 3 de julio de 2013

#AndroidSharedPreferences


Haremos un programa que solicite el nombre del usuario y lo guarde
mediante SharedPreferences.
Al iniciar la aplicación poner en el  EditText el último nombre
introducido.
Un botón para almacenar el nombre y que finalice el programa.
Crearemos un nuevo proyecto llamado SharedPreferences y lo
almacenaremos en el package name: android.ejemplos
01




02

 




Disponemos un TextView y definimos su ID con el nombre tv1, la propiedad
Text con “Introduce Nombre:”.
Disponemos un EditText y definimos su ID con el nombre et1.
Disponemos un Button y definimos su propiedad Id con el nombre button1
su propiedad Text con el valor guardar su propiedad OnClic con el valor
guardar.

03

 





04




El código java es:
package android.ejemplos;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {
private EditText et1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.et1);
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_PRIVATE);
et1.setText(guarda.getString(“nombre”,”"));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void guardar(View v) {
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_PRIVATE);
Editor editarch=guarda.edit();
editarch.putString(“nombre”, et1.getText().toString());
editarch.commit();
finish();
}
}


Obtenemos la referencia del EditText: et1=(EditText)findViewById(R.id.et1);
Obtenemos una referencia de un objeto de la clase SharedPreferences a
través del método getSharedPreferences. El primer parámetro es el nombre
del archivo de preferencias y el segundo la forma de creación del archivo
(MODE_PRIVATE indica que solo esta aplicación puede consultar el archivo
XML que se crea)
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_
PRIVATE);
Para extraer los datos del archivo de preferencias debemos indicar el nombre
a extraer y un valor de retorno si dicho nombre no existe en el archivo de
preferencias  hace que Android lo cree, si tratamos de extraer el valor de
nombre retornará el segundo parámetro es decir el String con una cadena
vacía:
et1.setText(guarda.getString(“nombre”,”"));
Cuando se presiona el botón “Guardar” lo que hacemos es grabar en el archivo
de preferencias el contenido del EditText en una variable llamada “nombre”:
public void guardar(View v) {
SharedPreferences guarda=getSharedPreferences(“archivo”,Context.MODE_
PRIVATE);
Editor editarch=guarda.edit();
editarch.putString(“nombre”, et1.getText().toString());
editarch.commit();
finish();
}
Debemos crear un objeto de la clase Editor y obtener la referencia del objeto
de la clase SharedPreferences que acabamos de crear. Mediante el método
putString almacenamos en nombre el valor del String cargado en el EditText.
Luego debemos llamar al método commit de la clase editor para que el dato
quede almacenado en el archivo de preferencias.
Esto hace que cuando volvamos a iniciar la aplicación se recupere el último
nombre ingresado.
Con finish de la clase Activity finaliza la actividad actual, al tener solo una
actividad en esta aplicacion, el programa terminara.
Por ultimo hay que añadir permiso para escritura en android manifest,
según imagen:

05

06



















viernes, 28 de junio de 2013

#PhpArchivoTexto

Un punto basico en toda web es poder registrar información en el servidor
y que se pueda recuperar para diversos usos, ya sea con ficheros de textos
o bases de datos.
Comenzaremos por los ficheros de textos.
En este ejemplo se crea un archivo de texto en el que se incluye el nombre y
observaciones, por lo que en la primera pagina incluimos el formulario con
un objeto text y otro textarea.
 <html>
<head>
<title>ArchivoTexto</title>
</head>
<body> <form action="pagrec.php" method="post">
Introduce nombre:
<input type="text" name="nombre">
<br>
Observaciones:
<br>
<textarea name="observaciones" rows="10" cols="40">
</textarea>
<br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

Las propiedades rows y cols que dimensionan el formulario en la
pantalla:
<textarea name="observaciones" rows="10" cols="40">
</textarea>
La otra página (pagrec.php) graba los datos que se introducen en el
formulario:
 <html>
<head>
<title>ArchivoGraba</title>
</head>
<body>
<?php
$ar=fopen("dat.txt","a") or
die("Error");
fputs($ar,$_REQUEST['nombre']);
fputs($ar,"\n");
fputs($ar,$_REQUEST['observaciones']);
fputs($ar,"\n");
fclose($ar);
echo "Los datos se grabaron correctamente.";
?>
</body>
</html>
En primer lugar creamos o abrimos el archivo de texto "dat.txt".
El segundo parámetro de la función fopen indica la forma de apertura de
archivo "a" lo crea o abre para añadir datos al final.
En este ejemplo nos interesa abrirlo para añadir, por lo que usamos el
parámetro "a".
Si el archivo no se puede abrir, se ejecuta la instrucción que se encuentra
luego del operador "or" en nuestro caso llamamos a la función die que finaliza
la ejecución mostrando el mensaje que pusimos.
$ar=fopen("dat.txt","a") or
die("Error");
Para la grabación de datos utilizamos la función fputs que tiene dos parámetros:
la referencia al archivo donde grabamos y el texto que pasamos para grabar.
fputs($ar,$_REQUEST['nombre']);
fputs($ar,"\n");
Para el salto de línea en el archivo de texto, usamos los caracteres \n.
Cuando terminamos con el archivo pasamos a cerrarlo con fclose.
El archivo se crea en el servidor, donde tengamos nuestras webs alojadas.
Para leer un archivo de texto utilizamos la la función fgets, abriendo dicho
archivo en modo lectura.
Utilizaremos el siguiente codigo para mostrar en la pantalla el contenido del
archivo "dat.txt" creado anteriormente.
<html>
<head>
<title>AperturaTexto</title>
</head>
<body>
<?php
$file=fopen("dat.txt","r") or
die("Error al abrir el archivo");
while (!feof($file))
{
$lin=fgets($file);
$saltodelinea=nl2br($lin);
echo $saltodelinea;
}
fclose($file);
?>
</body>
</html>
Mediante el siguiente codigo preparamos el archivo para abrir como solo
lectura “r”, en caso de error se ejecuta el codigo que va después de or.
$file=fopen("dat.txt","r") or
die("Error al abrir el archivo");
La función feof devuelve true si se termina el archivo.
Incluimos la lectura de lineas dentro de una estructura con while, que
mientras no llegue al final del archivo continuara leyendo lineas.
while (!feof($file))
Vamos leyendo una línea completa del archivo con la función fgets:
$lin=fgets($file);
La variable $linea contiene una línea completa del archivo de texto,
inclusive el salto de línea (\n)
Como en html no se hace el salto de linea con \n, pasamos a convertirlo
con la funcion nl2br.
Y pasamos a imprimir el resultado.
$saltodelinea=nl2br($lin);
echo $saltodelinea;
No olvidemos nunca cerrar el archivo con fclose.