我在美国东海岸,在西海岸的服务器上进行连接.
我已经设法让X11转发工作,所以我可以为某些有用的任务启动GUI应用程序.然而,对于所有X11转发的应用程序(特别是 emacs!),输入(击键,鼠标点击等)和响应有很多延迟,有时候从令人难以置信的沮丧到潜在的有害 - 当我打算做A时但是B的发生是因为滞后是如此之大.
SSH压缩是否是潜在的罪魁祸首?我应该使用什么样的压缩?
我试图理解在Python中创建子类时的使用*args和**kwds.
我想了解为什么这段代码的行为方式.如果我离开了*args,并**kwds在一个呼叫super().__init__,我得到一些奇怪的说法拆包.
这是我的测试用例:
class Animal(object):
def __init__(self, moves, num_legs):
self.moves = moves
self.num_legs = num_legs
def describe(self):
print "Moves :{} , num_legs : {}".format(self.moves, self.num_legs)
class Snake(Animal):
def __init__(self, poisonous, *args, **kwds):
self.poisonous = poisonous
print "I am poisonous:{}".format(self.poisonous)
# This next line is key. You have to use *args , **kwds.
# But here I have deliberately used the incorrect form,
# `args` and `kwds`, and am suprised at …Run Code Online (Sandbox Code Playgroud) 在Python 2中,我str.format()用来对齐我正在打印的一堆文本列到终端.基本上,它是一个表,但我不打印任何边框或任何东西 - 它只是文本行,对齐到列.
print用ANSI颜色代码包装整行(即一个语句),则所有内容都按预期打印.我既验证了同样的问题colorama和xtermcolor.结果是一样的.因此,我确定这个问题str.format()与在字符串中间不能很好地使用ANSI转义序列有关.
但我不知道该怎么办!:(我真的想知道这个问题是否有任何解决方法.
颜色和对齐是提高可读性的强大工具,可读性是软件可用性的重要组成部分.如果可以在不手动对齐每列文本的情况下完成此操作,对我来说意义重大.
帮助不大?☺
我真的相信在一个问题上有一个提交是一个好习惯.我确定我在"最佳实践"这样的文章中的某处读过它.
因此,我的工作流程如下:
git checkout -b new-issue.squash提交并将rebase它们转换为当前的主题分支.git revert提交,找到错误,修复它,并将新补丁提交到专题分支.我不会更改远程存储库的历史记录.但今天,我听到以下工作流程后感到很惊讶:
merge --no-ff合并与专题分支问题分支(所以我们必须"合并提交",我们可以revert).git bisect用来查找错误.根据第一种方法,我们将有一个干净的git历史,并且不知道在开发过程中使用的开销分支.
根据第二种方法,我们将有一个非常混乱的历史,有很多丑陋,不必要的合并和承诺只有一个问题.但是,我们可以git bisect用来查找错误.(也许这对于重构更好?)
您对这两种方法有什么利弊?
你使用哪种方法,为什么?
在实践中,你真的习惯git bisect了找虫子吗?(我还没......)
所以,我正在重构一个项目,我正在分离出一堆解析代码.我关心的代码是pyparsing.
即使花了很多时间阅读官方文档,我对pyparsing的理解也很差.我遇到了麻烦,因为(1)pyparsing采用(故意)非正统的方法进行解析,(2)我正在编写我没写的代码,评论很差,以及现有语法的非基本集合.
(我无法与原作者取得联系.)
我正在使用PyVows来测试我的代码.我的一个测试如下(我认为即使你不熟悉PyVows也很清楚;如果不是,请告诉我):
def test_multiline_command_ends(self, topic):
output = parsed_input('multiline command ends\n\n',topic)
expect(output).to_equal(
r'''['multiline', 'command ends', '\n', '\n']
- args: command ends
- multiline_command: multiline
- statement: ['multiline', 'command ends', '\n', '\n']
- args: command ends
- multiline_command: multiline
- terminator: ['\n', '\n']
- terminator: ['\n', '\n']''')
Run Code Online (Sandbox Code Playgroud)
但是当我运行测试时,我在终端中得到以下信息:
Expected topic("['multiline', 'command ends']\n- args: command ends\n- command: multiline\n- statement: ['multiline', 'command ends']\n - args: command ends\n - command: multiline")
to equal "['multiline', 'command ends', '\\n', '\\n']\n- …Run Code Online (Sandbox Code Playgroud) var a = {};
a.__defineGetter__('test',function() {return 5;});
var i ="test";
Run Code Online (Sandbox Code Playgroud)
除此之外还有其他方法可以执行getter a[i](同时使用var i它)
编辑:
我在问var i这个问题.我会更好地解释真正的问题.
我在命名空间对象上使用getter仅在需要时加载模块.
MyNameSpace.__defineGetter__('db',function(){MyNameSpace.loadModule('db');});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我试图加载所有模块:
for (var i in MyNameSpace){
MyNameSpace[i];
}
Run Code Online (Sandbox Code Playgroud)
我在我的代码上使用了Google闭包编译器,它将上面的循环减少到:
for(var i in MyNameSpace);
Run Code Online (Sandbox Code Playgroud)
没有模块加载.我试图"欺骗"gcc让我加载模块.
我试图了解如何concurrent.futures在Python 3.2.2中使用该模块,并且一直在使用文档中的示例。当我尝试运用自己的理解时,我自己的例子失败了。我希望有人能帮助我走上正轨!
我希望能够设置多个同时运行但异步运行的进程。我的进程不返回任何东西。为了模拟这一点,我编写了一个简单的示例:
import concurrent.futures
fred = [1,2,3,4,5,6,7,8,9,10]
def f(x):
print(x * x)
def main():
with concurrent.futures.ProcessPoolExecutor() as executor:
for num in fred:
executor.submit(f, num)
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
此代码运行(在4核Windows XP机器上)并返回:
1 4 9 16 25
...但随后挂起。
显然我做错了。那么,让Python在进程池中运行进程的正确方法是什么?我不想使用这种executor.map方法,因为我的过程没有任何回报。
还是……我是否必须通过返回流程True或False(或其他方式)伪造它?
谢谢!
我想知道在python中是否可以使用这样的东西(3.2,如果那是相关的).
with assign_match('(abc)(def)', 'abcdef') as (a, b):
print(a, b)
Run Code Online (Sandbox Code Playgroud)
行为在哪里:
a和b
None,它将完全绕过上下文我的目标基本上是一种非常简洁的上下文行为方式.
我尝试制作以下上下文管理器:
import re
class assign_match(object):
def __init__(self, regex, string):
self.regex = regex
self.string = string
def __enter__(self):
result = re.match(self.regex, self.string)
if result is None:
raise ValueError
else:
return result.groups()
def __exit__(self, type, value, traceback):
print(self, type, value, traceback) #testing purposes. not doing anything here.
with assign_match('(abc)(def)', 'abcdef') as (a, b):
print(a, b) #prints abc def
with assign_match('(abc)g', 'abcdef') as (a, …Run Code Online (Sandbox Code Playgroud) 所以我在处理鼻子插件方面非常棒.
我一直在搜索很多,但关于鼻塞的文档似乎很少.我阅读并尝试了以下链接中的内容,尝试编写一个简单的鼻子插件并运行它nosetests,但没有成功:
我不想编写自己的测试运行器或从任何其他脚本(通过run(argv=argv, suite=suite(), ...))运行测试,就像他们在第一个链接中一样.
我写了myplugin.py一个像这样的类的文件:
import os
from nose.plugins import Plugin
class MyCustomPlugin(Plugin):
name = 'myplugin'
def options(self, parser, env=os.environ):
parser.add_option('--custom-path', action='store',
dest='custom_path', default=None,
help='Specify path to widget config file')
def configure(self, options, conf):
if options.custom_path:
self.make_some_configs(options.custom_path)
self.enabled = True
def make_some_configs(self, path):
# do some stuff based on the given path
def begin(self):
print 'Maybe print some useful stuff...'
# do some more stuff
Run Code Online (Sandbox Code Playgroud)
并添加了setup.py这样的:
try:
from setuptools …Run Code Online (Sandbox Code Playgroud) 如何为浏览器原生 DOM 对象创建代理?
我想拦截元素样式的设置。所以我为 DOM 对象创建一个代理。但是,当我使用某些函数(例如getComputedStyle().
const setHandler = (target: any, prop: PropertyKey, value: any, _receiver?: any) => {
if (/*some condition*/) {
target[prop] = value
}
return true
}
const getHandler = (target: any, prop: PropertyKey, _receiver?: any) => {
return target[prop]
}
const style = new Proxy(el.style, {
get: getHandler,
set: setHandler
})
const classList = new Proxy(el.classList,{
get: getHandler,
set: setHandler
})
const proxy = new Proxy(el/*HTMLElement*/, {
get: (target, prop, _receiver) => …Run Code Online (Sandbox Code Playgroud) python ×6
javascript ×2
testing ×2
ansi-colors ×1
bisect ×1
commit ×1
concurrency ×1
dom ×1
ecmascript-6 ×1
es6-proxy ×1
getter ×1
git ×1
merge ×1
nose ×1
nosetests ×1
parsing ×1
proxy ×1
pyparsing ×1
python-3.x ×1
rebase ×1
ssh ×1
string ×1
terminal ×1
unit-testing ×1
x11 ×1