我正在尝试使用Windows API和SetConsoleMode调用更改output(CONOUT$)的Windows控制台模式.所以我修改了一个基于ConinMode.ps1(适用于输入)的PowerShell脚本来执行此操作.使用ConoutMode.exe和我的脚本,读取工作正常,并返回:
# .\ConoutMode.exe
mode: 0x3
ENABLE_PROCESSED_OUTPUT 0x0001 ON
ENABLE_WRAP_AT_EOL_OUTPUT 0x0002 ON
ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 off <====
DISABLE_NEWLINE_AUTO_RETURN 0x0008 off
ENABLE_LVB_GRID_WORLDWIDE 0x0010 off
# .\ConoutMode.ps1
OK! GetConsoleWindow handle : 0x1F06D6
Console Input Mode (CONIN) : 0x21f
Console Output Mode (CONOUT) : 0x3
Run Code Online (Sandbox Code Playgroud)
但是,我的脚本和exe都无法编写模式.(可能是因为它认为我的输出句柄没有指向控制台?)
在PowerShell中:
# .\ConoutMode.exe set 0x000f
error: SetConsoleMode failed (is stdout a console?)
# .\ConoutMode.ps1 -Mode 7
OK! GetConsoleWindow handle : 0x1F06D6
old …Run Code Online (Sandbox Code Playgroud) Python中的输出的print语句是否有任何替代方法.
另外,如何将输出文本格式化为彩色编码?
我是初学程序员,对它很新.
谢谢
我正在尝试使Scrapy输出彩色日志。我对Python日志记录不是很熟悉,但是我的理解是我必须制作自己的Formatter并让Scrapy使用它。我成功制作了一个Formatter,以使用Clint对输出进行着色。
我的问题是我无法使其在Scrapy中正常工作。我本来希望我的Spider中的logger对象有一个处理程序,然后我才应该切换该处理程序的格式化程序。当我查看里面的东西时spider.logger.logger,我看到那handler是一个空列表。我试图将格式化程序添加到新的流处理程序中。
crawler.spider.logger.logger.addHandler(sh)
其中sh是使用我的颜色格式化程序的处理程序。
这增加了效果,使每条消息的草率输出两次。第一条消息是彩色的,但没有Scrapy格式。第二个具有无颜色的Scrapy格式。
如何使Scrapy输出彩色日志保持可在其中设置的相同格式 settings.py
谢谢
Perl拥有出色的模块Term::ANSIScreen,可以进行各种花式光标移动和终端颜色控制.我想重新实现一个目前在Python中用Perl编写的程序,但终端ANSI颜色是其功能的关键.有人知道一个等价的吗?
我有一个utf-8编码的文件,其中包含多行,例如
\ x02我不喜欢\ x0307香蕉\ x03。\ x02 嗨,你好吗? 你打过电话了?
如何将文件的行读取到列表中,对所有转义序列进行解码?我尝试了下面的代码:
with codecs.open(file, 'r', encoding='utf-8') as q:
quotes = q.readlines()
print(str(random.choice(quotes)))
Run Code Online (Sandbox Code Playgroud)
但是它打印行而不解码转义字符。
\ x02我不喜欢\ x0307香蕉\ x03 \ x02
(请注意:转义字符是IRC颜色代码,\x02是加粗文本的字符,并且\x03是颜色代码的前缀。此外,此代码来自我的IRC僵尸程序,其中的MSG功能由代替print())
我正在学习 SQLAlchemy,我想确保我正确理解了backref参数relationship。
例如
from app import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True)
posts = db.relationship('Post', backref='author', lazy=True)
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.String(140))
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
Run Code Online (Sandbox Code Playgroud)
假设我有一个 User 对象j = models.User.query.get(1)。我的问题是,以下事情之间有什么区别吗?
j.postsPost.query.filter_by(author=j).all()Post.query.with_parent(j).all()Post.query.with_parent(j, property='posts').all()Post.query.with_parent(j, property=User.posts).all()返回的结果是一样的,但不知道执行的SQL语句是否相同。
with_parent(instance, property=None, from_entity=None)...给定的
property可以是None,在这种情况下,将针对此 Query 对象的目标映射器执行搜索。
所以最后三个语句似乎相同,但我真的不明白这个 Query 对象的目标映射器指的是什么。它是Post在这种情况下,执行这个查询Post?
我希望能够在Python中将文本更改为粗体.有没有办法做到这一点?
我已经能够使用termcolor更改颜色,但到目前为止还没有使用粗体文本.有没有人尝试过呢?
我想用raw_input color打印输入名称下面是代码,它将首先用color打印输入名称,然后在下一行中我正在读取输入。
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
print bcolors.WARNING + "Enter name:" + bcolors.ENDC
storage_select = raw_input()
Run Code Online (Sandbox Code Playgroud)
但是我想要颜色以下的东西
a = raw_input("Enter name")
Run Code Online (Sandbox Code Playgroud) 我从用户那里得到了 #RRGGBB 十六进制格式的颜色(#D3D3D3浅灰色),我想用它为一些输出着色。我想我编写print("some text", color="#0000FF")并获得蓝色输出。是否有可能(理想情况下没有 3rd 方软件)?
我想让我的字体大小只改变一行代码,比如print("Hello World!")的输出更大。因为我正在尝试制作一款小型主机游戏,所以我希望标题足够大。我使用的是 Windows 10。我的代码
print("PENGUIN ADVENTURE")
Run Code Online (Sandbox Code Playgroud) python ×9
ansi ×1
colors ×1
format ×1
input ×1
logging ×1
output ×1
perl ×1
powershell ×1
python-2.7 ×1
python-3.x ×1
scrapy ×1
sqlalchemy ×1
text ×1
utf8-decode ×1
winapi ×1