小编Ere*_*ven的帖子

Python选项卡完成时输出重复(OsX 10.8)

使用下面的代码片段,我已经将标签完成添加到python解释器中.

import readline
import rlcompleter
if 'libedit' in readline.__doc__:
    readline.parse_and_bind("bind ^I rl_complete")
else:
    readline.parse_and_bind("tab: complete")
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了一个奇怪的行为,在点击TAB之后,解释器会给出重复的内容:

Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> d=dict()
>>> d.
Display all 108 possibilities? (y or n)
d.__class__(         d.__class__(         d.__class__(
d.__class__(         d.__cmp__(           d.__cmp__(
d.__contains__(      d.__contains__(      d.__delattr__(
d.__delattr__(       d.__delattr__(       d.__delitem__(
d.__delitem__(       d.__doc__            d.__doc__
d.__doc__            d.__eq__(            d.__eq__(
d.__format__(        d.__format__(        d.__format__(
d.__ge__(            d.__ge__(            d.__getattribute__(
d.__getattribute__(  d.__getattribute__(  d.__getitem__( …
Run Code Online (Sandbox Code Playgroud)

python macos readline tab-completion

8
推荐指数
1
解决办法
241
查看次数

Saltstack master无法找到执行模块,说不可用

我写了一个简单的模块,并把文件放在下面<salt_file_roots>/_modules,内容或多或少:

# foomod.py
def foo(*args):
    return {'name': 'foo', 'result': True}
Run Code Online (Sandbox Code Playgroud)

我跑了salt minion saltutil.sync_all,看到了我添加的模块的输出.我可以看到它也在minion日志中同步.

minion:
    - modules.foomod
Run Code Online (Sandbox Code Playgroud)

1.我可以从附庸使用它:

$ salt-call foomod.foo
local:
    ----------
    name:
        foo
    result:
        True
Run Code Online (Sandbox Code Playgroud)

2.我可以将它包含在使用module.run和运行状态的状态中,它也可以工作.

3.但是,当我把它从主,出现这种情况:

$ salt minion foomod.foo
minion:
    - 'foomod.foo' is not available.
Run Code Online (Sandbox Code Playgroud)

当我从主人那里打电话时,我也看到了对minion日志的调用

2014-07-29 15:30:44,290 [salt.minion      ][INFO    ] User root Executing command foomod.foo with jid 20140729153044256654
2014-07-29 15:30:44,291 [salt.minion      ][DEBUG   ] Command details {'tgt_type': 'glob', 'jid': '20140729153044256654', 'tgt': 'minion', 'ret': '', 'user': 'root', 'arg': [], …
Run Code Online (Sandbox Code Playgroud)

python salt-stack

5
推荐指数
1
解决办法
2865
查看次数

在logstash中使用docker GELF驱动程序env/labels

Docker GELF日志驱动程序允许envlabelslog-opts:

gelf日志记录驱动程序支持标签和env选项.它在额外字段上添加了额外的键,以下划线(_)为前缀(ref)

我想在弹性搜索输出的索引名称中使用它,但我无法弄清楚如何访问这些值或所述extra字段.

假设我有这些选项运行容器,

docker run -it \
  --log-driver gelf \
  --log-opt gelf-address=udp://127.0.0.1:12201 \
  --log-opt tag=some-app \
  --log-opt env=staging \
  --log-opt labels=staging \
  ubuntu:16.04 /bin/bash -c 'echo Hello World'
Run Code Online (Sandbox Code Playgroud)

我想使用env我在logstash配置中传递的值:

input {
  gelf { }
}

output {
  elasticsearch {
    hosts => ["http://127.0.0.1:9200"]
    index => "logstash-%{env-value-here}-%{tag}-%{+YYYY.MM.dd}"
  }
}
Run Code Online (Sandbox Code Playgroud)

关于使用Graylog的env /标签似乎还有另一个问题:Docker GELF驱动程序env选项

logstash docker

4
推荐指数
1
解决办法
1278
查看次数

我是否过多地投射整数类型?

我是Rust的新手,我一直在重新解决Project Euler的问题.问题是,我意识到我一直在构建整数类型(主要是i32- i64)以适应我的陈述; for iterators,in循环,函数输入,条件等等.这是正常的吗?

我猜我在使用PE的一次性功能以及主要来自动态类型语言时做错了.

我总是尝试使用尽可能小的(或最可行的)积分类型来解决问题,我觉得我应该只i64考虑所有事情并完成它而不是那么多.

哪个是更好/推荐的方法,毯i64式类型或合理的整数类型与代码中的转换?

编辑:在我想澄清的评论之后,这不是一个代码审查查询,而是关于最佳实践和可读性问题,因为这两个选项中的哪一个是首选.我认为,在循环中没有误用时,铸造对性能的影响可以忽略不计.

不相关的PS:我正在使用一系列素数因素做P4,结果是没有回文是两个4位数素数的产物,而两个3位素数的最大值是99899

casting rust

-1
推荐指数
1
解决办法
208
查看次数