小编dre*_*mac的帖子

为什么这个 str.format 会导致 Python 中的关键错误

我在 python 2.7.10 脚本中有以下代码

params = {'F': '250', 'I': '-22.5', 'J': '-22.5', 'Y': '12.817175976', 'X': '7.4', 'Z': '-50'}
G3 = 'G3 F {F} I {I} J {J} X {X} Y {Y} Z {Z}  \n'
print(params)
print(G3)
print(G3.format(params))
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,它会提供以下输出:

./g-codeGenerator.py
{'F': '250', 'I': '-22.5', 'J': '-22.5', 'Y': '12.817175976', 'X': '7.4', 'Z': '-50'}
G3 F {F} I {I} J {J} X {X} Y {Y} Z {Z} 

Traceback (most recent call last):
  **Traceback truncated**
  File "./g-codeGenerator.py", line 342, in siliconOutputSequence
    print(G3.format(params))
KeyError: 'F' …
Run Code Online (Sandbox Code Playgroud)

python string-formatting python-2.7

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

在 MySQL 5.7 中弹出 JSON 数组中的最后一项

我在名为from. 它看起来像这样。

['2016-05-01', '2016-05-03', '2016-05-04']
Run Code Online (Sandbox Code Playgroud)

我想选择最后一个项目(这里2016-05-04)。

我试过这个:

SELECT `from`->"$[JSON_LENGTH(`from`) - 1]" FROM `table` WHERE `id` = 3;
Run Code Online (Sandbox Code Playgroud)

但得到了那个错误:

ERROR 3143 (42000): Invalid JSON path expression. The error is around character position 2.
Run Code Online (Sandbox Code Playgroud)

我试过使用这样的变量:

SET @count = (SELECT JSON_LENGTH(`from`) - 1 FROM `table` WHERE `id` = 3);
SELECT `from`->"$[@count]" FROM `table` WHERE `id` = 3;
Run Code Online (Sandbox Code Playgroud)

但得到了完全相同的错误。但如果我这样做:

SELECT `from`->"$[2]" FROM `table` WHERE `idx` = 3;
Run Code Online (Sandbox Code Playgroud)

它工作正常。

mysql arrays mysql-json

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

阅读Yaml时如何保留前导空白

我正在使用YamlReader(yamlbeans.YamlReader)阅读yaml文件

- tag: xyz
  description: |  
    This is multi-line comment and I want to preserve  
    leading white spaces and new line  
Run Code Online (Sandbox Code Playgroud)

当我阅读以下内容时:

String descr = tag.get("description");  
Run Code Online (Sandbox Code Playgroud)

它给出以下输出:

This is multi-line comment and I want to preserve  
leading white spaces and new line  
Run Code Online (Sandbox Code Playgroud)

但是我想保留领先的空白。

java whitespace yaml indentation javabeans

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

在golang中等效python的编码('utf8')

如何将Golang中的字符串转换为UTF-8的方式与str.encode('utf8')在Python中使用的方式相同?(我试图将一些代码从Python转换为Golang; str来自用户输入,编码用于计算哈希)

据我所知,Python代码将unicode文本转换为字符串.该字符串是UTF-8字节的集合.这听起来像Go中的字符串.当我将一些文本存储为Go字符串时,这个编码已经为我完成了吗?

我应该走过绳子然后试试utf8.EncodeRune吗?我真的很困惑.

python language-comparisons utf-8 go

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

在PyYAML中创建自定义标签

我正在尝试使用Python的PyYAML创建一个自定义标签,该标签将允许我使用YAML检索环境变量。

import os
import yaml

class EnvTag(yaml.YAMLObject):
    yaml_tag = u'!Env'

    def __init__(self, env_var):
       self.env_var = env_var

    def __repr__(self):
       return os.environ.get(self.env_var)

settings_file = open('conf/defaults.yaml', 'r')
settings = yaml.load(settings_file)
Run Code Online (Sandbox Code Playgroud)

里面defaults.yaml就是:

example: !ENV foo
Run Code Online (Sandbox Code Playgroud)

我不断得到的错误:

yaml.constructor.ConstructorError: 
could not determine a constructor for the tag '!ENV' in 
"defaults.yaml", line 1, column 10
Run Code Online (Sandbox Code Playgroud)

我计划也有多个自定义标签(假设我可以使这一标签正常工作)

python tags pyyaml

3
推荐指数
2
解决办法
4922
查看次数

如何从 Azure 函数返回 xlsx 文件?

我见过一些人尝试过。我无法重现他们的结果。乐于使用任何语言。我可以从 HTTP 触发器创建一个 xlsx。我想从另一个 HTTP 触发器返回该文件。

file-io azure azure-functions

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

我可以在同一个 Azure 容器上创建和添加多少个访问策略?

我没有通过搜索找到答案。我认为我应该能够在一个容器(至少数千个)上创建许多存储访问策略。但是经过测试,我的程序最多只能在一个容器上添加 5 个策略。

然后我尝试了 Microsoft Azure 存储资源管理器,它也有这个限制,最多只能添加 5 个。但我找不到关于此的任何描述。有什么办法可以解除这个限制吗?谢谢。

limit azure quota azure-storage

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

Python Cerberus:单个文件的多模式?

我正在尝试使用 Cerberus 来验证一些数据,但我遇到了一个问题。

我定义了几个较小的架构,例如:

A = {"type": "dict", "required": False, "schema": {"name": {"type": "string"}}}

B = {"type": "dict", "required": False, "schema": {"age": {"type": "integer"}}}

C = {"type": "dict", "required": False, "schema": {"gender": {"type": "string"}}}
Run Code Online (Sandbox Code Playgroud)

更高级别的架构是这样的:

{"something": {"type": "list", "schema": "type": [A, B, C]}}
Run Code Online (Sandbox Code Playgroud)

这显然行不通。

我想验证一个列表,其中的元素只需要通过(A, B, C). 我不知道如何用 Cerberus 做到这一点,我正在寻求帮助。

谢谢。

python validation cerberus

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

如何在内联源代码中使用来自组织模式源块的变量?

我有一个 python 源代码块,它获取熊猫数据框中的变量(列)数和案例数。

最小的例子:

#+begin_src python :exports none :session :results output
  df = pd.DataFrame({'a': [1, 2, 3],
                     'b': [4, 5, 6]})
  df_len_columns = len(df.columns)
  df_len_cases = len(df.index)
#+end_src
Run Code Online (Sandbox Code Playgroud)

我现在想做的是在内联源代码中使用这些变量的值,如下所示:

变量src_python{df_len_columns}数为 ,个案数为src_python{df_len_cases}

但这会引发以下错误:

NameError: name 'df_len_columns' is not defined
Run Code Online (Sandbox Code Playgroud)

请注意,我使用 session 参数:session认为它将是同一会话的一部分并且它会起作用。我也在网上广泛搜索,但找不到这个特定问题的解决方案(大多数问题是关于表的内联代码和内联代码格式)。

反正有没有实际使用这些变量内联?

emacs org-mode

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

使用 JMESPath 根据另一个查询结果过滤列表

拥有一个如下所示的对象:

{
  "pick": "a",
  "elements": [
    {"id": "a", "label": "First"},
    {"id": "b", "label": "Second"}
  ]
}
Run Code Online (Sandbox Code Playgroud)

如何检索elements列表中id等于 值的项目pick

我正在尝试类似的事情:

elements[?id == pick]
Run Code Online (Sandbox Code Playgroud)

但是,显然,比较器右侧的表达式是相对于根据我的过滤器表达式测试的对象进行评估的。

我怎样才能实现我想要的?如果这不可能开箱即用,您对我应该从哪里开始扩展 JMESPath 有什么建议吗?谢谢你!

python pandas jmespath

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