Biblioteca para manipulação do console(cmd) windows

507 views
Skip to first unread message

joao pedro Alves De Moura

unread,
Apr 3, 2017, 9:08:36 PM4/3/17
to Python Brasil
E ae pythonicos, essa é minha primeira postagem no grupo.
Hoje eu trago principalmente para o pessoal iniciante(assim como eu), uma biblioteca muito simples ao estilo Ncurses do linux, só que no windows, que seja legal para a criação de joguinhos no modo texto. Fiz essa bibllioteca, pois pesquisei muito sobre alguma bibliotaca que posicionasse o cursor, limpasse a tela ou até mudasse a cor do console e não achei quase nada sobre para windows.Então apenas juntei alguns comandos de algumas bibliotecas.
Para usar, apenas copie o código que segue abaixo, salve como"Conlib.py" dentro na pasta "Lib" do diretório onde o python está instalado, depois na hora de codificar escreva "import Conlib'.

from ctypes import *
from os import system
import msvcrt

STD_OUTPUT_HANDLE = -11
 
class COORD(Structure):
    pass
COORD._fields_ = [("X", c_short), ("Y", c_short)]

def gotoxy(x, y):
    h = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
    windll.kernel32.SetConsoleCursorPosition(h, COORD(x, y))

def cls():
    system("cls")
    
def keyPressed():
    return msvcrt.kbhit()

def getKey():
    return ord(msvcrt.getch())

def write(s):
    print(s, end = None)

def color(c):
    system('color ' + c)

Lista de comandos:
cls() - Limpa a tela do console.
keyPressed() - Retorna verdadeiro se alguma tecla for pressionada.
getKey() - "Captura" uma tecla pressionada e retorna o número relativo ao código ASCII da teclas.
write() - Escreve sem pular uma linha diferente do comando "print" do python.
color() - Muda a cor do fundo e do texto usando hexadecimal. (Ainda irei aperfeiçoar este sistema, tava com preguiça haha :p)

Espero que gostem, lembrando, funciona somente no windows.
E Conlib significa Console Library.
Vlw Flw!!!




Joao Paulo

unread,
Apr 4, 2017, 8:37:56 AM4/4/17
to Python Brasil
Parabéns, muito bacana a iniciativa. Porque não compartilha no git e abre para contribuição. Poderia crescer!

Nilo Menezes

unread,
Apr 4, 2017, 8:54:33 AM4/4/17
to python...@googlegroups.com
Oi João,

Eu fiz algo parecido, mas multiplataforma.
Dá uma olhada em: https://github.com/lskbr/colorconsole

Pessoal tá pedindo rotinas para desenhar bordas e salvar a tela.
Eu comecei outro projeto para estas rotinas:
https://github.com/lskbr/screenutils

Mas pedi o código em uma mega-burrada com o Git :-D

[]

Nilo Menezes
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.


-- 
-------------------
Nilo Menezes (@lskbr)
Livro: http://python.nilo.pro.br/
Libro: https://www.librodepython.com
Reply all
Reply to author
Forward
0 new messages