具体的例子是我有很多specfiles Source0
:或其他Source
包含宏的行.如何在不实际启动specfile构建或编写自己的解析器的情况下扩展这些宏?
这可以是一些示例C代码或一个实用程序,它将向我显示gui或在控制台上它并不重要,但我必须能够"命令"它在准确的时间抓取坐标xev不是很有用(我可以搞清楚).
我制作了一个非常简单的交互式控制台,我想在复杂的抓取应用程序中使用它.它看起来像这样:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys, codecs, code
sys.__stdout__ = codecs.getwriter('utf8')(sys.__stdout__)
sys.__stderr__ = codecs.getwriter('utf8')(sys.__stderr__)
if 'DEBUG' in os.environ:
import pdb
import sys
oeh = sys.excepthook
def debug_exceptions(type, value, traceback):
pdb.post_mortem(traceback)
oeh(type, value, traceback)
sys.excepthook = debug_exceptions
class CLI(code.InteractiveConsole):
def __init__(self, locals=None, filename="<console>", histfile=None):
code.InteractiveConsole.__init__(self, locals, filename)
try:
import readline
except ImportError:
pass
else:
try:
import rlcompleter
readline.set_completer(rlcompleter.Completer(locals).complete)
except ImportError:
pass
readline.parse_and_bind("tab: complete")
self.interact()
if __name__ == "__main__":
hello="I am a local"
CLI(locals=locals())
Run Code Online (Sandbox Code Playgroud)
如果我从另一个简单的应用程序调用它,它的工作正常:
#!/usr/bin/env python …
Run Code Online (Sandbox Code Playgroud) 它将背景更改为红色,我无法读取文本以更正错误!
如何配置不同的突出显示?它有设置吗?