为什么我不能在另一个python文件中调用func?

为什么我不能在另一个python文件中调用func?,python,Python,我创建了两个python文件:mineswipping.py和CmdColor.py 在mineswipping.py中,我想调用CmdColor.py中定义的func来生成具有颜色输出的shell,但失败了 CmdColor.py的代码如下: #!/usr/bin/env python #encoding: utf-8 import ctypes STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE= -11 STD_ERROR_HANDLE

我创建了两个python文件:
mineswipping.py
CmdColor.py
mineswipping.py
中,我想调用
CmdColor.py
中定义的func来生成具有颜色输出的shell,但失败了

CmdColor.py
的代码如下:

#!/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:  

    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()  



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')  
mineswipping.py
中,我这样做是为了调用func:

import CmdColor
...    
    clr = CmdColor.Color()
    clr.print_red_text('red')
但是输出字符串“red”是白色的

如果我将
CmdColor.py
合并到
abc.py
中,则它可以输出一个红色字符串“red”

代码可在此处找到:

为什么??
谢谢

您确定
中没有相关内容吗?(也许你可以把它作为一个三行的最小示例?@David Robinson请查看我的最新帖子,代码的链接已经提供。谢谢顺便说一句,您可以尝试在PyPI中使用colorama模块,而不是使用Win32 Invactive…:)嗯,你的代码对我来说很好。。。