您的位置:首页 > 编程语言 > Python开发

python设置Console大小以及字体颜色

2013-04-26 20:04 513 查看
搜到三个例子,

1中用python执行DOS命令完成设置字体颜色以及console的大小

2中调用ctypes模块中的函数去设置字体的颜色

3中调用ctypes模块中的函数将Console控制台隐藏(参数控制)

#1----------------------------------------------------------------------------------------------

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

import urllib2

import cookielib

import string,os,winsound

mode="mode con: cols=150 lines=40"#最关键的

color="color 72"#最关键的

os.system(mode)#最关键的

os.system(color)#最关键的

print u"论坛审核提示程序--依山居\n"
print "\n"

#2----------------------------------------------------------------------------------------------

#!/usr/bin/env python    

#encoding: utf-8  

import ctypes  

  

STD_INPUT_HANDLE = -10  

STD_OUTPUT_HANDLE= -11  

STD_ERROR_HANDLE = -12  

  

FOREGROUND_BLACK = 0x0  

FOREGROUND_BLUE = 0x01 # text color contains blue.  

FOREGROUND_GREEN= 0x02 # text color contains green.  

FOREGROUND_RED = 0x04 # text color contains red.  

FOREGROUND_INTENSITY = 0x08 # text color is intensified.  

  

BACKGROUND_BLUE = 0x10 # background color contains blue.  

BACKGROUND_GREEN= 0x20 # background color contains green.  

BACKGROUND_RED = 0x40 # background color contains red.  

BACKGROUND_INTENSITY = 0x80 # background color is intensified.  

  

class Color:  

    ''''' See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_api_reference.asp 
    for information on Windows APIs.'''  

    std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)  

      

    def set_cmd_color(self, color, handle=std_out_handle):  

        """(color) -> bit 

        Example: set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY) 

        """  

        bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)  

        return bool  

      

    def reset_color(self):  

        self.set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)  

      

    def print_red_text(self, print_text):  

        self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY)  

        print print_text  

        self.reset_color()  

          

    def print_green_text(self, print_text):  

        self.set_cmd_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY)  

        print print_text  

        self.reset_color()  

      

    def print_blue_text(self, print_text):   

        self.set_cmd_color(FOREGROUND_BLUE | FOREGROUND_INTENSITY)  

        print print_text  

        self.reset_color()  

            

    def print_red_text_with_blue_bg(self, print_text):  

        self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY| BACKGROUND_BLUE | BACKGROUND_INTENSITY)  

        print print_text  

        self.reset_color()      

  

if __name__ == "__main__":  

    clr = Color()  

    clr.print_red_text('red')  

    clr.print_green_text('green')  

    clr.print_blue_text('blue')  

    clr.print_red_text_with_blue_bg('background')  

      

#3-------------------------------------------------------------------------------------------------------------------------------

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

import ctypes

whnd = ctypes.windll.kernel32.GetConsoleWindow()

if whnd != 0:
ctypes.windll.user32.ShowWindow(whnd,0)
ctypes.windll.kernel32.CloseHandle(whnd)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: