Script

Iniciado por Geruis, 29 Marzo 2018, 06:24 AM

0 Miembros y 1 Visitante están viendo este tema.

Geruis

Como realizar Script en python que llene automaticamente con datos diferentes los campos e una base de datos

engel lex

hay casi muchas formas diferentes de hacer esto según el caso... es como preguntar "como se escribe un libro lleno de palabras en paginas" primero investiga sobre que manejadores hay de linux para tu  base de datos y luego que tengas algo formulado y un código, has una pregunta más clara y punstual
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Sentex

Hola!. Aqui tienes un ejemplo de manejo de base de datos con python. La base de datos es personalizada osea no es sqlite ni nada de eso. Necesitaras crear un fichero en la misma carpeta del script que se llame spotify.db y ya funcionaria el script. Claro este script sirve para lo que sirve que es para almacenar cuentas de spotify y tal.

Script
Código (python) [Seleccionar]

# -*- coding: utf-8 -*-

import sys, os
from tabulate import tabulate
from random import SystemRandom
from base64 import b64encode as encode
from base64 import b64decode as decode

def deca():

    global fathers
    global pfathers
    global user
    global passwd
    global name

    fathers = []
    pfathers = []
    user = []
    passwd = []
    name = []

def clearf():
    for father in fathers:
        fathers.remove(father)
    for pfather in pfathers:
        pfathers.remove(pfather)
    for usr in user:
        user.remove(usr)
    for passw in passwd:
        passwd.remove(passw)
    for na in name:
        name.remove(na)


class more:
    INFO = "[#] "
    CORRECT = "[*] "
    ERROR = "[!ERROR] "

SPOTIFY = ('''
   _____             __  _ ____     
  / ___/____  ____  / /_(_) __/_  __
  \__ \/ __ \/ __ \/ __/ / /_/ / / /
___/ / /_/ / /_/ / /_/ / __/ /_/ /
/____/ .___/\____/\__/_/_/  \__, / 
    /_/                    /____/   
''')

def clear():
    syst = sys.platform
    if str(syst) == 'win32':
        os.system('cls')
    else:
        os.system('clear')

def deconfuse(data):
    data = str(data).replace('β', '=').replace('≡', '?').replace('∑', "W").replace("∂", "c").replace("◊", "H").replace("€", "T").replace("•", "5")
    return data

def confuse(data):
    data = str(data).replace('=', 'β').replace('?', '≡').replace('W', "∑").replace("c", "∂").replace("H", "◊").replace("T", "€").replace("5", "•")
    return data

def decryptdb(db):
    reader = open(db, "r")
    data = reader.read()
    if str(data).find("DaRpa") == -1:
        print more.ERROR + "The db is not encrypted"
        main()
    data = str(data).replace("DaRpa", "").rstrip(" ")
    data = deconfuse(data)
    data = decode(data)
    reader.close()
    writer = open(db, "w")
    writer.write(data)
    writer.close()

def encryptdb(db):
    reader = open(db, "r")
    data = encode(reader.read())
    data = "DaRpa" + confuse(data)
    reader.close()
    writer = open(db, "w")
    writer.write(data)
    writer.close()

def edit_account(db, email, password, nombre, nemail, npassword, nnombre, father, pfather, nfather, npfather):
    reader = open(db, "r")
    data = reader.read()
    data = str(data).replace(email+":"+password+":"+nombre+":"+father+":"+pfather, nemail+":"+npassword+":"+nnombre+":"+nfather+":"+npfather)
    reader.close()
    writer = open(db, "w")
    writer.write(data)
    writer.close()

def delete_account(db, email, password, nombre, father, pfather):
    reader = open(db, "r")
    data = reader.read()
    data = str(data).replace("{0}:{1}:{2}:{3}:{4}", "").rstrip("\n").format(email,password, nombre, father, pfather)
    reader.close()
    writer = open(db, "w")
    writer.write(data)
    writer.close()

def add_account(db, email, password, nombre, father, pfather):
    reader = open(db, "r")
    data = reader.read()
    data = str(data)+"\n{0}:{1}:{2}:{3}:{4}\n".rstrip("\n").format(email, password, nombre, father, pfather)
    reader.close()
    writer = open(db, "w")
    writer.write(data)
    writer.close()

def random(long, opt):
    if opt == "Mm1":
        abc = "a0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    elif opt == "Mm":
        abc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    elif opt == "m":
        abc = "abcdefghijklmnopqrstuvwxyz"

    gen = SystemRandom()
    rand = ""
    while long > 0:
        rand = rand + gen.choice(abc)
        long -= 1
    return rand

def generate():
    print more.INFO + "Generating an account..."
    mail = random(7, "m")
    password = random(5, "Mm1")
    print "YopMail: "+mail+"@yopmail.com"
    print "PassWord: "+password
    print "Name: Not Set"
    print "Father: Not Set"
    print "PassWord: Not Set"
    print ""
    raw_input("Press enter to continue")
    add_account("spotify.db", mail+"@yopmail.com", password, "unset", "unset", "unset")
    print more.CORRECT + "Account Created"
    main()

def opendb(db):
    clearf()
    file = open(db, "r")
    data = file.readlines()
    for lines in data:
        if not lines == "":
            info = str(lines).split(":")
            user.append(info[0])
            passwd.append(info[1])
            name.append(info[2])
            fathers.append(info[3])
            pfathers.append(info[4])
    file.close()

def statusdb(db):
    file = open(db, "r")
    data = file.read()
    if not str(data).find("DaRpa") == -1:
        print "DB Status: Encrypted!"
    else:
        print "DB Status: Decrypted!"

def make_table():
    if len(user) > 1:

        datau = ""
        datap = ""
        datae = ""
        dataf = ""
        datapf = ""

        for usr in user:
            datau += "\n" + usr + "\n".rstrip("\n")
        for passw in passwd:
            datap += "\n" + passw + "\n".rstrip("\n")
        for na in name:
            datae += "\n" + na + "\n".rstrip("\n")
        for father in fathers:
            dataf += "\n" + father + "\n".rstrip("\n")
        for passw in pfathers:
            datapf += passw + "\n".rstrip("\n")

        table = [['Email', 'Password', 'Father', 'Password', 'Name'],
                  [datau, datap, dataf, datapf, datae]]
        print(tabulate(table, headers='firstrow'))
        print ""
        raw_input("Press enter to continue")
        clearf()
        del datau
        del datap
        del datae
        del dataf
        del datapf
        main()
    else:
        main()

def main():
    print ""
    statusdb("spotify.db")
    print "Spotify Manager By Sentex"
    print "--Select Option--------------------"
    print " 1._ Open DB"
    print " 2._ Delete account"
    print " 3._ Add account"
    print " 4._ Edit account"
    print " 5._ Encrypt DB"
    print " 6._ Decrypt DB"
    print " 7._ Show DB"
    print " 8._ Generate"
    print " 9._ Exit"
    opt = raw_input(">")
    if opt == "":
        print more.ERROR + "Wrong command"
        main()
    if int(opt) == 1:
        print more.INFO + "Loading DB..."
        opendb("spotify.db")
        print more.CORRECT + "DB Loaded!"
        main()
    elif int(opt) == 2:
        print "Email"
        email = raw_input(">")
        print "Password"
        password = raw_input(">")
        print "Name"
        nombre = raw_input(">")
        print "Father"
        father = raw_input(">")
        print "Password"
        pfather = raw_input(">")
        print more.INFO + "Removing Account..."
        delete_account("spotify.db", email,password, nombre, father, pfather)
        print more.CORRECT + "Account Deleted!"
        main()
    elif int(opt) == 3:
        print "Email"
        email = raw_input(">")
        print "Password"
        password = raw_input(">")
        print "Name"
        nombre = raw_input(">")
        print "Father"
        father = raw_input(">")
        print "Password"
        pfather = raw_input(">")
        print more.INFO + "Creating new account..."
        add_account("spotify.db", email, password, nombre, father, pfather)
        print more.CORRECT + "Account Created!"
        main()
    elif int(opt) == 4:
        print "Email"
        email = raw_input(">")
        print "Password"
        password = raw_input(">")
        print "Name"
        nombre = raw_input(">")
        print "Father"
        father = raw_input(">")
        print "Password"
        pfather = raw_input(">")
        print "New Email"
        nemail = raw_input(">")
        print "New Password"
        npassword = raw_input(">")
        print "New Name"
        nnombre = raw_input(">")
        print "New Father"
        nfather = raw_input(">")
        print "New Password"
        npfather = raw_input(">")
        print more.INFO + "Editing Account"
        if nemail == "":
            nemail = str(email)
        elif npassword == "":
            npassword = str(password)
        elif nnombre == "":
            nnombre = str(nombre)
        if nfather == "":
            nfather = str(father)
        if npfather == "":
            npfather = str(pfather)
        edit_account("spotify.db", email, password, nombre, nemail, npassword, nnombre, father, pfather, nfather, npfather)
        print more.CORRECT + "Account Edited"
        main()
    elif int(opt) == 5:
        print more.INFO + "Encrypting DB..."
        encryptdb("spotify.db")
        print more.CORRECT + "DB Encrypted!"
        main()
    elif int(opt) == 6:
        print more.INFO + "Decrypting DB..."
        decryptdb("spotify.db")
        print more.CORRECT + "DB Decrypted!"
        main()
    elif int(opt) == 7:
        make_table()
    elif int(opt) == 8:
        generate()
    elif int(opt) == 9:
        print more.INFO + "Encrypting the db"
        f = open("spotify.db", "r")
        data = f.read()
        if str(data).find("DaRpa") == -1:
            encryptdb("spotify.db")
        print more.CORRECT + "Encrypted!"
        print "Bye!"
        sys.exit()
    else:
        print more.ERROR + "Wrong command"
        main()

deca()
clear()
print SPOTIFY
main()


Si sacas fragmentos del código te puede ayudar.
Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex