小编ece*_*ulm的帖子

如何使用 python protobuf 2.5.0 设置字节字段?

有留言

message MyMessage {
  required bytes mybytesfield = 1;
}
Run Code Online (Sandbox Code Playgroud)

我生成了 python 代码

protoc -I. --python_out=. message.proto
Run Code Online (Sandbox Code Playgroud)

并尝试添加这样的字节字段(Python 2.7.6):

import message_pb2 as mpb

msg = mpb.MyMessage()
msg.mybytesfield = bytes([0xDE, 0xAD])
# msg.mybytesfield = b'\xDE\xAD'
with open("output.bin", "w") as f:
    f.write(msg.SerializeToString())
Run Code Online (Sandbox Code Playgroud)

但它似乎对文字进行编码,[222, 173]而不是dead根据 的输出进行判断hexdump -C

正确的写入方法是0xDEAD什么mybytesfield

python protocol-buffers

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

我可以在不执行任务的情况下加载角色(仅获取模块)吗?

我想使用角色中mongodb_replication定义 的模块greendayonfire.mongodb.

我知道我可以在同一个游戏中应用角色后在我的任务中使用该模块.但我不想应用角色(并执行它的所有任务).有没有办法在不执行任务的情况下"包含"角色?

我希望这样

---
- hosts: mongodb-nodes
  become: true
  roles:
    - base
    - greendayonfire.mongodb
  vars:
    mongodb_package: mongodb-org
    mongodb_version: "3.2"
    mongodb_force_wait_for_port: true
    mongodb_net_bindip: 0.0.0.0
    mongodb_net_http_enabled: true
    mongodb_replication_replset: "rs1"
    mongodb_storage_prealloc: false
- hosts: mongodb-0
      tasks:
        - mongodb_replication: replica_set=rs1 host_name=item state=present
          with_items:
            - mongodb-0
            - mongodb-1
            - mongodb-2
Run Code Online (Sandbox Code Playgroud)

其中第二个游戏是运行 mongodb_replication模块的游戏(仅在节点中mongodb-0).现在它找不到模块.

我想我可以将模块从角色中复制到我的剧本中,但如果我可以从角色中导入模块(我不想编辑),我会更清洁

ansible

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

.loc [:,['A','B']]赋值是否允许更改列的dtype?

我感到困惑,因为我无法一次修改两列.loc[:,['A', 'B'],我猜是因为它返回的是副本而不是视图.我在索引和选择数据中找不到关于何时返回视图以及何时返回副本的权威指南.

我使用的是熊猫0.18,我可以看到,在旧版本的文件(大熊猫0.13),它曾经说:"每当标签的数组或布尔矢量都参与了索引操作,结果将是一份"但我在当前的文档中找不到

pd.__version__
# u'0.18.0'
df = pd.DataFrame({'A': ['1', '2', '3', '4',
                         '5', '6', '7', '8'],
                   'B': ['1', '2', '3', '4',
                         '5', '6', '7', '8'],
                   'C': ['1', '2', '3', '4',
                         '5', '6', '7', '8']})

df.dtypes
    #A    object
    #B    object
    #C    object
    #dtype: object

df2 = df.copy()
df2[['A', 'B']] = df2.loc[:,['A' , 'B']].astype(float) # Works
df2.dtypes
    #A    float64
    #B    float64
    #C     object
    #dtype: object
df2 = df.copy()
df2.loc[:,['A', 'B']] = df2.loc[:,['A' , 'B']].astype(float) # Does NOT …
Run Code Online (Sandbox Code Playgroud)

pandas

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

为什么 jaxb 记录的属性 com.sun.xml.bind.xmlHeaders 无法识别,但“内部”属性可以识别?

我对JAXB 2.2.11 文档感到困惑, 其中属性被描述为com.sun.xml.bind.xmlHeaders但是当我尝试时:

javax.xml.bind.PropertyException: name: com.sun.xml.bind.xmlHeaders
Run Code Online (Sandbox Code Playgroud)

但是使用com.sun.xml.internal.bind.xmlHeaders(note: internal) 有效。

所以我的问题实际上是关于这样做的基本原理。我在看错误的文档吗?哪里internal来的?

public static void main(String[] args) throws JAXBException {
    MyElement myxml = new MyElement();
    JAXBContext context = JAXBContext.newInstance(MyElement.class);
    Marshaller marshaller = context.createMarshaller();
    marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

    marshaller.setProperty("com.sun.xml.bind.xmlHeaders","");
    //marshaller.setProperty("com.sun.xml.internal.bind.xmlHeaders","<DOCTYPE>");

    marshaller.marshal(myxml, System.out);
}
Run Code Online (Sandbox Code Playgroud)

jaxb

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

如何将函数应用于数组列的每个元素?

我有一个数据集,其中有一列包含对象数组,如下所示:

ID   TAGS
1    {"tags": [{"tag": "a"}, {"tag": "b"}]}
2    {"tags": [{"tag": "c"}, {"tag": "d"}]}
Run Code Online (Sandbox Code Playgroud)

我想提取tag数组每个元素的字段,所以最终结果是:

ID   TAGS
1    ["a","b"]
2    ["c","d"]
Run Code Online (Sandbox Code Playgroud)

假设如下表t1

CREATE OR REPLACE TEMPORARY TABLE t1 AS (
      select 1 as ID , PARSE_JSON('{"tags": [{"tag":"a"}, {"tag":"b"}]}') AS PAYLOAD
    UNION ALL
    select 2, PARSE_JSON('{"tags": [{"tag":"c"}, {"tag":"d"}]}')

);
Run Code Online (Sandbox Code Playgroud)

snowflake-cloud-data-platform

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

在 Pod 中使用 serviceAccount 与 serviceAccountName 有什么区别?

我已经见过这两种方法serviceAccountserviceAccountName在 pod 清单中使用过。有什么不同?

kubernetes

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

如何从前面填充NA的矢量?

我想制作一个现有的矢量大小n并使用NA.我知道我可以像这样填充矢量的末尾:

v1 <- 1:10
v2 <- diff(v1)
length(v2) <- length(v1)
v2
# 1 1 1 1 1 1 1 1 1 NA 
Run Code Online (Sandbox Code Playgroud)

但我想以一般方式填写NA初学者.我的意思是这个特殊的例子我可以

v2 <- c(NA, diff(v1))
# NA 1 1 1 1 1 1 1 1 1 
Run Code Online (Sandbox Code Playgroud)

但我希望有一些基本的R函数或库提供类似的东西 v2 <- pad(v2, n=length(v1), value=NA)

有什么类似我可以使用自我或我需要定义自己的功能:

pad  <- function(x, n) { # ugly function that doesn't keep the attributes of x
    len.diff <- n - length(x)
    c(rep(NA, len.diff), x) 
}

pad(1:10, 12) # …
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
2
解决办法
3347
查看次数

如何在 Redshift 中获取当前会话时区?

我知道我可以使用会话时区

SET TIMEZONE TO 'CET';
Run Code Online (Sandbox Code Playgroud)

但有办法找回来吗?我想要类似的东西

SELECT SESSIONTIMEZONE, SYSDATE, SYSDATE::timestamptz, SYSDATE::timestamptz AT TIME ZONE 'UTC', SYSDATE::timestamptz AT TIME ZONE 'CET'; 
Run Code Online (Sandbox Code Playgroud)

我希望返回

UTC| ... 12:23:55.963747 | ... 12:23:55.963747+00 | ... 12:23:55.963747+00 | ... 12:23:55.963747+01
Run Code Online (Sandbox Code Playgroud)

有办法得到吗?我没有看到任何 CURRENT_TIMEZONE 或 GET_TIMEZONE 函数。

amazon-redshift

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

如何将Clojure命名空间转换为字符串?

我正在尝试打印一个名称空间列表:

(doseq [x (all-ns)] (println x))
Run Code Online (Sandbox Code Playgroud)

这将打印每个命名空间#<Namespace xxxxx>.我想得到每个名称空间xxxxx (没有#<Namespace>.我试过(name x),(symbol x)但我得到了ClassCastException clojure.lang.Namespace cannnot be cast to java.lang.Named,等等.

(doseq [x (all-ns)] (println (name x)))
(doseq [x (all-ns)] (println (str x)))
(doseq [x (all-ns)] (println (namespace x)))
Run Code Online (Sandbox Code Playgroud)

如何将命名空间作为字符串?

clojure

3
推荐指数
1
解决办法
268
查看次数

如何在 Snowflake DB 中找到挂起的任务?

我想找出挂起的任务,输出SHOW TASKS太长,无法快速查看哪些任务实际上被挂起(我们有很多任务)

有没有办法只获取挂起的任务名称并过滤掉实际启动的任务?

snowflake-cloud-data-platform snowflake-task

3
推荐指数
1
解决办法
1751
查看次数