小编Neb*_*sar的帖子

如何将数据附加到 YAML 文件

我有一个文件 *.yaml内容如下:

bugs_tree:
  bug_1:
    html_arch: filepath
    moved_by: user1
    moved_date: '2018-01-30'
    sfx_id: '1'
Run Code Online (Sandbox Code Playgroud)

我想在节点下的这个文件中添加一个新的子元素 [bugs_tree] 我尝试执行此操作如下所示:

if __name__ == "__main__":
    new_yaml_data_dict = {
        'bug_2': {
            'sfx_id': '2', 
            'moved_by': 'user2', 
            'moved_date': '2018-01-30', 
            'html_arch': 'filepath'
        }
    }

    with open('bugs.yaml','r') as yamlfile:
        cur_yaml = yaml.load(yamlfile)
        cur_yaml.extend(new_yaml_data_dict)
        print(cur_yaml)
Run Code Online (Sandbox Code Playgroud)

然后文件应该看起来:

bugs_tree:
  bug_1:
    html_arch: filepath
    moved_by: username
    moved_date: '2018-01-30'
    sfx_id: '1234'
  bug_2:
    html_arch: filepath
    moved_by: user2
    moved_date: '2018-01-30'
    sfx_id: '2'
Run Code Online (Sandbox Code Playgroud)

当我尝试执行.append()OR .extend()OR 时.insert()出现错误

cur_yaml.extend(new_yaml_data_dict)
AttributeError: 'dict' object has no attribute 'extend'
Run Code Online (Sandbox Code Playgroud)

python yaml pyyaml

9
推荐指数
2
解决办法
2万
查看次数

提高模型清洁方法中的字段错误

如何ValidationException在 django 的模型clean方法中提高字段边界?

from django.core.exceptions import ValidationError

def clean(self):
    if self.title:
        raise ValidationError({'title': 'not ok'})
Run Code Online (Sandbox Code Playgroud)

以上没有将错误添加到title字段(使用表单时),而是添加到非字段错误 ( __all__)。

我知道如何在表单 ( self._errors['title'] = self.error_class([msg])) 中执行此操作,但self._errors在模型clean方法中不存在。

python django django-models

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

如何将 tar.gz github 文件添加到 setup.py

从我的setup.py

requirements = [
    ...,
    'git+https://github.com/SergeySatskiy/cdm-pythonparser/archive/v2.0.1.tar.gz'
]

setup(
    install_requires=requirements,
    ...,
)
Run Code Online (Sandbox Code Playgroud)

这是行不通的。但是,我知道我可以使用简单的方式安装 tar.gz

pip install git+https://github.com/SergeySatskiy/cdm-pythonparser/archive/v2.0.1.tar.gz
Run Code Online (Sandbox Code Playgroud)

有没有办法在我的文件中进行设置setup.py

我尝试过将其拉到本地,但效果不佳。
也尝试在没有 的情况下做到这一点git+,也没有成功。

更新

我看到的是,我可以将依赖项添加到 kwarg 中,dependency_links如下所示:

setup(
   ...
   install_requires=requirements,
   dependency_links = ['http://github.com/SergeySatskiy/cdm-pythonparser/archive/v2.0.1.tar.gz']
)
Run Code Online (Sandbox Code Playgroud)

但它总是被包含在内。我想要完成的是将其包含在测试环境中。所以我将它添加到 中tests_require,但是当然这就像这样,install_requires所以没有帮助。

有没有办法只在我的测试环境中得到这个?

任何帮助表示赞赏!

python pip setuptools

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

Django 模型在两种方式下都是独一无二的

关于这个主题已经有很多问题,但不是我正在寻找的问题。

我有这个Model

class Options(TimeStampedModel)
    option_1 = models.CharField(max_length=64)
    option_2 = models.CharField(max_length=64)

    class Meta:
        unique_together = ('option_1', 'option_2')
Run Code Online (Sandbox Code Playgroud)

现在我对字段有一个独特的约束。有没有一种办法也该定义的其他方式,使其不管什么是option_1,什么是option_2

例如:

Options.create('spam', 'eggs') # Allowed
Options.create('spam', 'eggs') # Not allowed
Options.create('eggs', 'spam') # Is allowed but should not be
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python django django-models unique-constraint

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

用其他字符替换前导空格 - Python

我想用nbsp;每个空格替换我的前导空格。

所以:

spam --> spam
 eggs -->  eggs
  spam eggs -->   spam eggs
Run Code Online (Sandbox Code Playgroud)

我见过一些使用正则表达式的解决方案,但都是其他语言的。我在 Python 中尝试过以下方法,但没有成功。

import re

raw_line = '  spam eggs'

line = re.subn('\s+', ' ', raw_line, len(raw_line))
print(line) # outputs   spam eggs

line = re.sub('\s+', ' ', raw_line)
print(line) # outputs   spam eggs

line = re.sub('^\s', ' ', raw_line)
print(line) # outputs   spam eggs

line = re.sub('^\s+', ' ', raw_line)
print(line) # outputs  spam eggs
Run Code Online (Sandbox Code Playgroud)

最后一行似乎最接近,但还没有雪茄。

在 Python中替换每个前导空格的正确方法是什么 

如果有一种干净的方法可以在没有正则表达式的情况下做到这一点,我会很乐意接受,但我自己无法弄清楚。

python regex replace

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

如何检查带有类的div是否是最后一个元素

所以这是jquery的一个问题。我怎么知道具有特定类的 div 是否是最后一个元素。我有以下 html

<div class="main">

    <div class="check"></div>
    <div class="check"></div>
    <div class="check"></div>
    <div class="check"></div>

</div>
Run Code Online (Sandbox Code Playgroud)

我这样做

jQuery(document).on('click', '.next-work', function() {

    var next = jQuery('.display-work').next('.check');
    jQuery('.check').removeClass('display-work');

    if (next) {
        next.addClass('display-work');
    } else {
        jQuery('.main .check:first').addClass('display-work');
    }

    jQuery('.display-work').find('.full-work-container').show();
});
Run Code Online (Sandbox Code Playgroud)

这意味着我不想在单击滑块之类的东西时停止将类添加到 div 中。如果元素在 html 中,它应该自动将类添加到第一个。

jquery

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

make groovy request accept 404 - 错误:hudson.AbortException:失败:返回的代码404不在可接受的范围内:[[100‥399]]

我正在为我的api编写一些集成测试.现在,我想测试一个返回404的请求.这就是我想要的,但groovy/hudson总是在我尝试时将我的构建标记为失败.当然,这是因为404不在可接受的范围之间.

我明白了这个错误.问题是我不知道如何解决这个问题.

我的Groovy文件的一部分:

def testID = "fakeID"
response = httpRequest acceptType: "APPLICATION_JSON", 
          contentType: "APPLICATION_JSON",
          customHeaders: [[name: 'Authorization', value: token]],
          url: server+port+"/exams"+testID
Run Code Online (Sandbox Code Playgroud)

有谁知道如何让groovy接受这404?所有帮助都提前感谢!

apache groovy http-headers jenkins

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

jquery是(:visible)可见性:隐藏

在jQuery中:

e.is(':visible');
Run Code Online (Sandbox Code Playgroud)

检查是否显示元素.

jQuery中是否有一个函数来检查元素是否具有隐藏或可见的属性可见性?

现在我必须自己做这个功能.但我想使用jQuery函数,如果它存在.

我做的功能:

$.fn.isVisible = function() {
    return ($(this).css('opacity') != '0' && $(this).css('visibility') !== 'hidden');
};
Run Code Online (Sandbox Code Playgroud)

扩展我的例子: JsFiddle

真正的问题是:是否有jQuery功能?

javascript css jquery

2
推荐指数
1
解决办法
4734
查看次数

用于判断字符串是否为Pangram的代码?

import java.io.*;
import java.util.*;


public class Solution {

    public static final int n = 26; 

    public int check(String arr) {
        if (arr.length() < n) {
           return -1;
        }
        for (char c = 'A'; c <= 'Z'; c++) {
            if ((arr.indexOf(c) < 0) && (arr.indexOf((char)(c + 32)) < 0)) {
               return -1;
            }
        }
        return 1;
    }  
}

public static void main(String[] args) {
    Scanner s1 = new Scanner(System.in);
    String s = s1.next();
    Solution obj = new Solution();

    int d = …
Run Code Online (Sandbox Code Playgroud)

java string pangram java.util.scanner

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