小编Zit*_*rax的帖子

没有分隔符的ConfigParser

使用Python 3.5和ConfigParser。

我想使用这样的配置文件:

[Section]
key1
key2
key3
Run Code Online (Sandbox Code Playgroud)

即没有值。默认情况下,ConfigParser需要值,但是我可以将其传递allow_no_values=True给构造函数来处理。

但是,解析器仍会尝试分割默认为的定界符('=', ':')。因此,默认情况下,我的行不能包含任何行。但是我不想划定任何界限-我的任何一行都没有价值。

传递定界符=()或[]或无不起作用。如果使用一个空列表,它会抱怨option '' in section 'Section' already exists如果没有,我会得到'NoneType' is not iterable

那么,有没有办法确保分裂永远不会发生?我不得不指定一些我永远不希望使用的字符,这并不是最佳选择。

python configparser

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

如何在构建名称中使用构建原因?

当我使用 API 远程触发作业时,jenkins 上的作业显示:“由远程主机 IP 启动”。但是我的工作可能会因不同的原因和不同的来源而触发,因此如果我在 Jenkins 中能够查看工作并直接看到触发原因,那就太好了。

我知道我可以传递一个字符串参数,然后在每个作业中查看参数 - 但这不是很明显。我希望最好已经在所有工作列表中看到它。就像是:Reason: X Source: N

有什么办法可以做到这一点吗?

我注意到我们的发布作业采用了一个显示我想要的版本参数 - 但我不想滥用它,因为这些运行不是发布。

jenkins jenkins-plugins

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

Jenkins 管道不会因批次失败而失败

在詹金斯声明式管道中,如果我添加如下步骤:

bat '''dir QWERTY'''
Run Code Online (Sandbox Code Playgroud)

由于没有这样的目录,它将按预期失败。

然而,这是一个包含许多语句的bat脚本,所以我希望一旦出现错误就失败。我已经习惯了通过追加|| exit /b来处理这个问题。但作为詹金斯管道的一部分,这似乎不起作用。

bat '''dir QWERTY || exit /b'''
bat '''dir QWERTY || exit /b %ERRORLEVEL%'''
Run Code Online (Sandbox Code Playgroud)

以上都没有失败。为什么?

第三种选择:

bat '''dir QWERTY
if %errorlevel% neq 0 exit /b %ERRORLEVEL%
'''
Run Code Online (Sandbox Code Playgroud)

似乎可行,但这会损害脚本的可读性。

batch-file jenkins jenkins-pipeline

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

使用doxygen记录枚举

doxygen为枚举生成的html文档列出了左侧的枚举和右侧的文档.但是我需要为每个值提供非常详细的文档,并且一些名称非常长,因此使文档右侧列显示在右侧,看起来非常糟糕.是否有可能使每个值的文档显示在值的下方或上方而不是右侧?

html format enums doxygen

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

从python中的列表中提取数组

如果我有这样的列表:

>>> data = [(1,2),(40,2),(9,80)]

如何提取两个列表[1,40,9]和[2,2,80]?当然我可以自己迭代并提取数字但我猜有更好的方法吗?

python arrays list

4
推荐指数
3
解决办法
7718
查看次数

可以'使用严格'警告而不是错误

使用use strictperl时会在不安全的构造上生成运行时错误.现在我想知道是否可以让它只打印警告而不是导致运行时错误?或是use warnings(或-w)警告相同的问题?

error-handling perl strict

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

在 Windows 上列出 *.lib 中的函数

当我运行时,lib /list mylib.lib我看到一些包含的 .obj 文件,但没有关于与此类似的功能的信息:

Path\file1.obj
Path\file2.obj
Path\file3.obj
Run Code Online (Sandbox Code Playgroud)

如果我将 .lib 文件作为存档打开,我可以看到1.txt, ..., n.txt除了目标文件之外还有许多文件。这些 txt 文件似乎包含有关 .obj 文件中函数的信息,格式如下:

:
Path\file1.obj    ?function_name@...
:
Run Code Online (Sandbox Code Playgroud)

因此可以通过这种方式检索一些信息。

但是没有更好的方法来获取函数信息吗?例如使用lib.exedumpbin.exe或其他工具?也是一种更易读/破坏的格式吗?到目前为止,我没有运气找到。

这里有一个相关的问题但它没有讨论如何处理 .lib 文件中包含的目标文件。

c++ windows static-libraries

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

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

git log - 带前缀的分支

我想记录一组特定分支上的所有更改,以查看它们之间的关系,我发现:

git log --graph --oneline --topo-order --decorate --simplify-by-decoration `git branch --list -a origin/foo/*`
Run Code Online (Sandbox Code Playgroud)

完全符合我的要求(即在所有以foo/*为前缀的分支上进行日志更改).

但现在我--branches对git log 的选择感到好奇.这似乎是应该以类似的方式工作,但如果我使用--branches=origin/foo/*或者--branches=remotes/origin/foo*甚至--branches=foo输出是非常不同的(只有极少数的和不相干的提交都会被显示).

文件说:

--branches[=<pattern>]
Pretend as if all the refs in refs/heads are listed on the command line as
<commit>. If <pattern> is given, limit branches to ones matching given shell
glob. If pattern lacks ?, *, or [, /* at the end is implied.
Run Code Online (Sandbox Code Playgroud)

有什么不同 ?我的问题已经解决,因为我可以使用第一个版本 - 但我问这个,因为我很好奇.(如果可以避免使用后蜱,那么添加git别名会稍微简单一些.)

此问题讨论相关主题 - 但我看不到有关我的具体问题的任何信息.

git git-log

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

混合属性加入sqlalchemy

我可能没有@hybrid_property完全掌握使用.但我尝试做的是使基于另一个表中的列访问计算值变得容易,因此需要连接.

所以我拥有的是这样的东西(虽然有效,但很尴尬,感觉不对):

class Item():

:

@hybrid_property
def days_ago(self):
    # Can I even write a python version of this ?
    pass

@days_ago.expression
def days_ago(cls):
    return func.datediff(func.NOW(), func.MAX(Event.date_started))
Run Code Online (Sandbox Code Playgroud)

这需要我Action在需要使用days_ago属性时由调用者在表上添加连接.在我需要获取days_ago值的情况下,hybrid_property甚至是简化查询的正确方法吗?

python sql sqlalchemy

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