Está en la página 1de 10

1

Scripting con Python


UNIVERSIDAD DE LAS FUERZAS
ARMADAS ESPE
Integrantes: Roger Armas, Nareck Vasconez
Nrc: 4733/5091
Fecha: 13 de junio del 2021

Resumen – El scripting generalmente se refiere a escribir La primordial finalidad de este programa es simplificar y
pequeños programas que están diseñados para automatizar hacer muchísimo más cómoda la relación entre una persona y
tareas simples. Python es adecuado para este tipo de tareas, un sistema operativo o máquina. Anteriormente solamente las
principalmente porque tienen una sintaxis relativamente simple y personas con conocimiento de informática podían usar un
es fácil de escribir. También es rápido escribir algo pequeño con
computador, pero las interfaces graficas sustituyeron la
él y probarlo.
complejidad de los comandos por acciones predeterminadas
usando elementos visuales muy sencillos de comprender.

En el ambiente ingenieril una interfaz gráfica posibilita al


I. INTRODUCCIÓN ingeniero detectar los tipos de procesos que hace la máquina,
además de ofrecerle un sistema de control por el que se puede
Qué es un script en Python saber el estado de la misma. También por medio de esta
Un script es un código particularmente creado para resolver interfaz se tiene la posibilidad de planificar diferentes
una tarea específica. Normalmente cumple una o varias de las actividades para diversos tipos de trabajos.
siguientes características:
Se compone de un único módulo de python (un fichero de
texto con extensión .py)
Tiene un punto entrada/ejecución al final del mismo. B. Averigua sobre las diferentes formas de programar
Hace uso de librerías del sistema y de comandos de bash. una interfaz gráfica de usuario(GUI).
Se lanza por consola.
Se integra con facilidad con tareas tipo cron (cronjobs). Tkinter
Define diferentes funciones simples.
Permite el uso de argumentos desde la consola. El tkinter paquete ("interfaz Tk") es la interfaz estándar de
Estructura de un script de Python Python para el kit de herramientas Tk GUI. Tkinter es una
Todo el contenido que esté en la raíz del fichero será ejecutado elección perfecta porque es uno de los más fáciles de instalar y
por tanto la forma correcta de crear scripts en Python es: viene por defecto en el framework de Python. Tkinter tiene
Definir una función main que será ejecutada por el script. una abundancia de recursos tanto en libros como en
Añadir todas las funciones necesarias que serán llamadas referencias, es simple de usar con una gran interfaz gráfica.
por main. Los ejemplos son fáciles de comprender y muy legibles.
Al final del módulo se añade una llamada a main con los
parámetros necesarios y se realiza la ejecución. PyGUI

PyGUI es un framework multiplataforma que frecuenta ser de


aplicación gráfica. PyGUI es una de las librerías más
II. DESARROLLÓ DEL TRABAJO primordiales y ligeras de la mayor parte de las librerías de
Python usadas para comenzar el desarrollo de GUI pues la
API (Application Program Interface) está alineada con Python.
A. Averigua que son las interfaces graficas de usuario, PyGUI en la actualidad es compatible con Windows, OSX y
para que sirven y cuál es el impacto provocado en el Linux. Esto posibilita a los desarrolladores generar API de
ambiente ingenieril. GUI básicas que tienen la posibilidad de implementarse en
La interface de usuario, también conocida como GUI estas 3 plataformas. Puede avanzar documentando
(Graphical User Interface) es el espacio donde se genera la enteramente la API sin hacer alusión a la documentación de
comunicación entre seres vivos y maquinas, donde los una biblioteca de GUI de terceros.
usuarios puedan interactuar con mayor facilidad el propósito
de esta relación con el humano, es producir una interfaz que WxPython
sea fácil de usar, eficiente y agradable para que al operar la
máquina de un resultado deseado. Wxpython trae la biblioteca de GUI multiplataforma de
 wxWidgets a partir de su C++ nativo a Python. WxPython es
2

un enfoque más nuevo. Que parece un poco más nativo que Es simple y fácil de aprender
Tkinter en diferentes sistemas operativos, debido a que no Documentación completa
aspira a generar su propio grupo de widgets. Es viable que También nos ofrece una cantidad de recursos, incluidos libros
ocupe agrupar wxPython con sus aplicaciones, debido a que y ejemplos de código.
no se instala automáticamente con Python. WxPython usa la
biblioteca wxWindows de su plan primordial, que está Desventajas:
aprobado por OSI.
Pocos elementos gráficos (sin listados, arboles, etc.)
PyQt Limitado control del comportamiento de la interface
(recomendado para proyectos “triviales”
PyQt implementa la famosa biblioteca Qt, por lo cual, si está Apariencia “extraña” (no se parece a las aplicaciones nativas)
familiarizado con el desarrollo de Qt en otro lenguaje, tal vez
a partir del desarrollo de aplicaciones originarias para KDE u F. Averigua para que se usan las librerías tk, ttk y tix.
otro ámbito de escritorio con QT, es probable que ya se
encuentre familiarizado con Qt. Esto abre la probabilidad de
desarrollar aplicaciones en Python que tengan un aspecto
familiar en muchas plataformas, al tiempo que aprovechan los Tk decimos que es una biblioteca de controles visuales que los
instrumentos y el razonamiento de la gran sociedad de Qt. tenemos la posibilidad de entrar a partir de Python y a partir
de otros idiomas de programación. Se suma una totalmente
nueva serie de controles visuales (notebook, combobox) y
C. De las formas de programar GUIs consultadas modernizó lo que hemos observado en los conceptos
anteriormente, averigüe cuál de ellas es el método más fácil anteriores.
y por qué.
El módulo tkinter.ttk da ingreso al grupo de widgets temáticos
Tk, introducido en Tk 8.5. El proceso anterior que usa Tk 8.5
El método más fácil para progrmar GUIs es Tkinter, ya que
otorga ventajas extras, incluida la representación de fuentes
este framework nos ofrece una fácil instalación ya que por
suavizada en X11 y la transparencia de ventanas.
defecto viene incluido en las librerías de Python, además nos
ofrece ejemplos sencillos para aquellos que recién empezamos
El modulo tkinter.tix otorga un rico grupo adicional de
a programar GUIs, siendo fáciles de entender y sencillos.
widgets. Aun cuando la biblioteca estándar de Tk tiene varios
Además de que funciona de forma inmediata en la mayoría de
widgets útiles, permanecen lejos de ser enteros. La librería
las plataformas y se completa con una amplia gama de widgets
tkinter.tix da la mayor parte de los widgets mas necesarios que
necesarios para las tareas más comunes (botones, etiquetas,
faltan en Tk estándar: HList, ComboBox, Control y un surtido
lienzos de dibujo, texto de variables líneas, etc.)
de widgets desplazables. Tkinter.tix además incluye varios
D. Averigua sobre el uso de Tkinter con Python, cuál es más widgets que son principalmente útiles en una extensa
su principio de funcionamiento. gama de aplicaciones: NoteBook, FileEntry, PanedWindow;
hay alrededor de 40.
Tkinter es un framework que nos ayudara con la creación de
GUIDs en la plataforma de Phyton, su uso se basa en su
principal ventaja, ya que viene preinstalado en Python y no G. Averigua cuantos y cuales son los tipos de widgets
hay necesidad de instalar una aplicación. Su funcionamiento que posee Tkinter.
se basa en un código de escritura que permitirá mediante su
Ttk viene con 18 widgets, doce de los cuales ya existían en
código representar GUIs modificando su tamaño, letra,
tkinter: Button, Checkbutton, Entry, Frame, Label, LabelFram
botones, widgets todo desde su librería tkinter.
e, Menubutton, PanedWindow, Radiobutton, Scale, Scrollbar 
y Spinbox. Los otros seis son
También en el número de widgets que se incluyen y en la
nuevos: Combobox, Notebook, Progressbar, Separator, Sizegri
posibilidad de trabajar con estilos y temas, que permiten ahora
p y Treeview. Y todas ellas son subclases de Widget.
personalizar totalmente la estética de un programa.

H. Averigua como generar cada uno de los siguientes


widgets encontrados en Tkinter.
E. Averigua las ventajas y desventajas de usar Tkinter
en la creación de GUIs con Python.

Ventajas:
Label

Ya se encuentra preinstalado con Python en casi todas las


plataformas.
3

En esta lección vamos a laborar el widget label usado para


demostrar textos. Frecuenta ser escrito estático, de allí que se ● Canvas
llame label o etiqueta de escrito.

Como se genera:
from tkinter import *
root = Tk()
label = Label(frame,text="¡Hola Mundo!")
label.pack()
root.mainloop() El lienzo es un área rectangular referida a hacer dibujos u
otros diseños complicados. Puede situar gráficos, escrito,
widgets o marcos en un lienzo.
Como se genera:
w = Canvas ( master, option=value, ... )

● Button ● CheckButton

El widget Checkbutton se usa para enseñar una secuencia de


posibilidades a un cliente como botones de alternancia.
Después, el cliente puede elegir una o más posibilidades
l widget de botón se usa para añadir botones en una aplicación realizando clic en el botón que corresponde a cada elección.
de Python. Dichos botones tienen la posibilidad de demostrar Como se genera:
escrito o imágenes que transmiten el objetivo de los botones. w = Checkbutton ( master, option, ... )
Como se genera:
w = Button ( master, option=value, ... )

● Entry

● Frame

El widget de acceso se usa para admitir cadenas de escrito de


una sola línea de un cliente.
Como se genera:
w = Entry( master, option, ... ) El widget Frame es primordial para el proceso de agrupar y
acomodar otros widgets de una forma amigable. Funciona
como un contenedor, que se ocupa de acomodar la postura de
otros widgets.
Como se genera:
w = Frame ( master, option, ... )
4

● Listbox ● Scrollbar

El widget Listbox se utiliza para mostrar los elementos de la Este widget proporciona un controlador deslizante que se
lista al usuario. utiliza para implementar widgets de desplazamiento vertical,
Como se genera: como Listbox, Text y Canvas. 
w = Listbox (padre, opciones)  w = Scrollbar ( master, option, ... )

● Menú

● Text

En esta lección vamos a aprender a crear un menú superior de


toda la vida con varias secciones. El primer widget menú que
creamos hace referencia a la barra de menú, de ahí que se le
suele llamar menubar:
Como se genera:
from tkinter import *

root = Tk()
Los widgets de texto brindan capacidades avanzadas que le
menubar = Menu(root) permiten editar un texto de varias líneas y formatear la forma
root.config(menu=menubar) # Lo asignamos en que debe mostrarse, como cambiar su color y fuente.
a la base Como se genera:
w = Text ( master, option, ... )
root.mainloop()

I. Averigua cuales son los atributos y configuraciones


que se les puede realizar a cada uno widgets mencionados
● Scale anteriormente.

 Label

El widget Escala proporciona un objeto deslizante gráfico que


le permite seleccionar valores de una escala específica.
Como se genera:
w = Scale ( master, option, ... )
5

Ancla

Esta opción controla dónde se coloca el texto si el widget tiene


más espacio del que necesita el texto. El valor predeterminado
es anchor = CENTER, que centra el texto en el espacio
 Entry
disponible.

mapa de bits

Establezca esta opción en un mapa de bits o un objeto de


imagen y la etiqueta mostrará ese gráfico.

Mando
fg Un procedimiento que se llamará cada vez que el usuario
cambie el estado de este botón de verificación.
Si está mostrando texto o un mapa de bits en esta etiqueta, esta
opción especifica el color del texto. Si está mostrando un Cursor
mapa de bits, este es el color que aparecerá en la posición de Si establece esta opción en un nombre de cursor (flecha,
los bits 1 en el mapa de bits. punto, etc.), el cursor del mouse cambiará a ese patrón cuando
esté sobre el botón de verificación.

Exportación
De forma predeterminada, si selecciona texto dentro de un
widget de entrada, se exporta automáticamente al
portapapeles. Para evitar esta exportación, use exportselection
= 0.

 Button

fondo activo
 Canvas
Color de fondo cuando el botón está debajo del cursor.

activo
Color de primer plano cuando el botón está debajo del cursor.

bd
Ancho del borde en píxeles. El valor predeterminado es 2.
Confinar
Expresar Si es verdadero (el valor predeterminado), el lienzo no se
Establezca esta opción en DESACTIVADO para atenuar el puede desplazar fuera de la región de desplazamiento.
botón y hacer que no responda. Tiene el valor ACTIVE
cuando el mouse está sobre él. El valor predeterminado es Scrollregion
NORMAL. Una tupla (w, n, e, s) que define el tamaño del área en la que
se puede desplazar el lienzo, donde w es el lado izquierdo, n la
parte superior, e el lado derecho y s la parte inferior.
6

Yscrollcommand Ancho
Si el lienzo es desplazable, este atributo debe ser el método. El ancho predeterminado de un botón de verificación está
set () de la barra de desplazamiento vertical. determinado por el tamaño de la imagen o el texto
mostrado. Puede configurar esta opción para una cantidad de
caracteres y el botón de verificación siempre tendrá espacio
para esa cantidad de caracteres.

 CheckButton

 Listbox

Bd
El tamaño del borde alrededor del indicador. El valor
predeterminado es 2 píxeles.

Fuera de valor
Xscrollcommand
Normalmente, la variable de control asociada a un botón de
Se utiliza para permitir que el usuario se desplace
verificación se establecerá en 0 cuando esté desactivada
horizontalmente por el cuadro de lista.
(desactivada). Puede proporcionar un valor alternativo para el
estado desactivado estableciendo offvalue en ese valor.
Yscrollcommand
Se utiliza para permitir que el usuario se desplace
Onvalue
verticalmente por el cuadro de lista.
Normalmente, la variable de control asociada a un botón de
verificación se establecerá en 1 cuando esté establecido
(activado). Puede proporcionar un valor alternativo para el
estado activado estableciendo onvalue en ese valor.

Padx
Cuánto espacio dejar a la izquierda y derecha del botón de
verificación y el texto. El valor predeterminado es 1 píxel.  Menú

 Frame Arrancar
Normalmente, un menú se puede quitar, la primera posición
(posición 0) en la lista de opciones está ocupada por el
elemento de corte, y las opciones adicionales se agregan a
partir de la posición 1. Si establece el corte = 0, el menú no
tendrá una función de corte y se agregarán opciones a partir de
la posición 0.

Alivio Título
Con el valor predeterminado, relieve = PLANO, el botón de Normalmente, el título de una ventana de menú desprendible
verificación no se destaca de su fondo. Puede configurar esta será el mismo que el texto del botón de menú o la cascada que
opción en cualquiera de los otros estilos
7

conduce a este menú. Si desea cambiar el título de esa elementborderwidth = -1, lo que significa usar el valor de la
ventana, establezca la opción de título en esa cadena. opción borderwidth.

Saltar
Esta opción controla lo que sucede cuando un usuario arrastra
el control deslizante. Normalmente (salto = 0), cada pequeño
arrastre del control deslizante hace que se llame a la
devolución de llamada del comando. Si establece esta opción
en 1, la devolución de llamada no se llama hasta que el usuario
suelta el botón del mouse.

 Scale

Mando  Text
Un procedimiento que se llamará cada vez que se mueva el
control deslizante. A este procedimiento se le pasará un
argumento, el nuevo valor de escala. Si el control deslizante se
mueve rápidamente, es posible que no reciba una devolución
de llamada para cada posición posible, pero ciertamente Exportacion
recibirá una devolución de llamada cuando se establezca. Normalmente, el texto seleccionado dentro de un widget de
texto se exporta para ser la selección en el administrador de
Cursor ventanas. Establezca exportselection = 0 si no desea ese
Si establece esta opción en un nombre de cursor ( flecha, comportamiento.
punto, etc. ), el cursor del mouse cambiará a ese patrón cuando
esté sobre la escala. Fg
El color utilizado para el texto (y mapas de bits) dentro del
Dígitos widget. Puede cambiar el color de las regiones
La forma en que su programa lee el valor actual que se etiquetadas; esta opción es solo la predeterminada.
muestra en un widget de escala es a través de una variable de
control. La variable de control de una escala puede ser IntVar, Insertofftime
DoubleVar (flotante) o StringVar. Si es una variable de El número de milisegundos que el cursor de inserción está
cadena, la opción de dígitos controla cuántos dígitos se apagado durante su ciclo de parpadeo. Establezca esta opción
utilizarán cuando el valor de la escala numérica se convierta en cero para suprimir el parpadeo. El valor predeterminado es
en una cadena. 300.

IX. CONCLUSIÓN

Python es el lienzo que permite reflejar, de forma simple y


elegante, las ideas en forma algorítmica. Sus aplicaciones,
tanto en la comunidad docente como en la científica, le
 Scrollbar permitirán aumentar su popularidad y adopción a nivel
internacional.

En conclusión, python es un lenguaje muy completo, que


ayuda bastante en temas de seguridad informática, ya que nos
ayuda a complementar tareas o procesos que deseamos
ejecutar para llegar a un objetivo que puede ser encontrar
vulnerabilidades y asegurar esa información cifrándola con
Elementborderwidth
python.
El ancho de los bordes alrededor de las puntas de flecha y el
control deslizante. El valor predeterminado es
8

#--------funciones--------
def numeroPulsado(num):
REFERENCIAS     global operacion
[1] G. O. Young, “Synthetic structure of industrial plastics (Book style with
paper title and editor),” in Plastics, 2nd ed. vol. 3, J. Peters, Ed.
    operacion=operacion+str(num)
New York: McGraw-Hill, 1964, pp. 15–64.     numeroPantalla.set(operacion)
[2] W.-K. Chen, Linear Networks and Systems (Book style). Belmont,
CA: Wadsworth, 1993, pp. 123–135. def el_resultado():
[3] H. Poor, An Introduction to Signal Detection and Estimation.     global operacion
New York: Springer-Verlag, 1985, ch. 4.
[4] B. Smith, “An approach to graphs of linear forms (Unpublished work     try:
style),” unpublished.         resul=str(eval(operacion))
[5] 876—880. Available: http://www.halcyon.com/pub/journals/21ps03-
        numeroPantalla.set(resul)
vidmar         operacion=resul
X. ANEXOS     except:
        numeroPantalla.set("Error")
        operacion=""
def keep():
En la interfaz gráfica diseñada para la aplicación de     global operacion
simulación de una calculadora añadir:     operacion=("")
    numeroPantalla.set("0")
def borra():
    global operacion
    operacion=operacion[:-1]
    numeroPantalla.set(operacion)
● Un botón que permita borrar un valor
#------------pantalla-----------
numérico ingresado erróneamente.
numeroPantalla=StringVar()
● Visualizar por defecto el número cero
pantalla=Entry(miFrame, textvariable=numero
análogamente a la función de la calculadora de
un pc. Pantalla)
● Permitir operaciones con números decimales. pantalla.grid(row=1, column=1, padx=10, pad
y=10, columnspan=4)
pantalla.config(background="black", fg="#03
f943", justify="right")
#-----------fila 1---------
boton7=Button(miFrame, text="7", width=3,  
command=lambda:numeroPulsado(7))
boton7.grid(row=2, column=1)
boton8=Button(miFrame, text="8", width=3,  
command=lambda:numeroPulsado(8))
boton8.grid(row=2, column=2)
Código:
boton9=Button(miFrame, text="9", width=3,  
command=lambda:numeroPulsado(9))
boton9.grid(row=2, column=3)
botonDiv=Button(miFrame, text="/", width=3, 
from tkinter import*
command=lambda:numeroPulsado("/"))
from math import*
botonDiv.grid(row=2, column=4)
import tkinter.messagebox
#-----------fila 2---------
raiz=Tk()
boton4=Button(miFrame, text="4", width=3, c
miFrame=Frame(raiz)
ommand=lambda:numeroPulsado(4))
miFrame.pack()
boton4.grid(row=3, column=1)
operacion=""
9

boton5=Button(miFrame, text="5", width=3, c
ommand=lambda:numeroPulsado(5))
boton5.grid(row=3, column=2) ● Añadir un icono al archivo ejecutable de la
boton6=Button(miFrame, text="6", width=3, c aplicación.
ommand=lambda:numeroPulsado(6))
boton6.grid(row=3, column=3)
botonMul=Button(miFrame, text="x", width=3, 
command=lambda:numeroPulsado("*"))
botonMul.grid(row=3, column=4)
#-----------fila 3---------
boton1=Button(miFrame, text="1", width=3, c
ommand=lambda:numeroPulsado(1))
boton1.grid(row=4, column=1)
boton2=Button(miFrame, text="2", width=3, c
ommand=lambda:numeroPulsado(2))
boton2.grid(row=4, column=2)
boton3=Button(miFrame, text="3", width=3, c
ommand=lambda:numeroPulsado(3))
boton3.grid(row=4, column=3)
botonRest=Button(miFrame, text="-", width=3
, command=lambda:numeroPulsado("-"))
botonRest.grid(row=4, column=4)
#-----------fila 4---------
boton0=Button(miFrame, text="0", width=3, c
ommand=lambda:numeroPulsado(0))
boton0.grid(row=5, column=1)
botonPunto=Button(miFrame, text=".", width=
3, command=lambda:numeroPulsado("."))
botonPunto.grid(row=5, column=2)
botonIgual=Button(miFrame, text="=", width=
3, command=el_resultado)
botonIgual.grid(row=5, column=3)
botonSum=Button(miFrame, text="+", width=3, 
command=lambda:numeroPulsado("+"))
botonSum.grid(row=5, column=4)
#------------fila 5----------------
botonBorra=Button(miFrame, text="<----", wi
dth=3, command=borra)
botonBorra.grid(row=6, column=2, columnspan
=2)
keep()
raiz.mainloop()
10

También podría gustarte