小编Mel*_*Mel的帖子

编写pytest函数来检查输出到python中的文件?

我问了这个问题,关于如何写一个pytest来检查输出stdout并得到一个解决方案.现在我需要写一个test case,检查内容是否写入文件,内容是否按预期写入,例如:

def writetoafile():
   file = open("output.txt",w)
   file.write("hello\n")
   file.write("world\n")
   file.close()
Run Code Online (Sandbox Code Playgroud)

现在是一个pytest函数来检查它是否写入:

def test_writeToFile():
    file = open("ouput.txt",'r')
    expected = "hello\nworld\n"
    assert expected==file.read()
Run Code Online (Sandbox Code Playgroud)

虽然这似乎有效,但我认为这不是理想的,尤其是硬编码.这些test functions写入文件通常是如何编写的?

python file-io function pytest

15
推荐指数
2
解决办法
9070
查看次数

如何使用typescript处理同一个html DOM元素上的"单击"和"双击":Angular 2或4?

我的问题是,当我执行"双击"时,用于这两个事件的方法都会被触发

例如,我需要在触发特定事件时执行特定功能.

<a (click)="method1()" (dblclick)="method2()">
Run Code Online (Sandbox Code Playgroud)

这两个method1()method2()我进行"双击"越来越触发.

angular

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

清除UIScrollView的内容

我有一个使用计时器的iPhone应用程序,并在每个时间间隔创建一些UILabel控件并将它们添加到一个UIScrollView.

我想要做的是UIScrollView在将UILabel控件放入之前清除每个时间间隔UIScrollView.

我怎样才能清除内容UIScrollView

iphone uiscrollview

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

更改默认浮动打印格式

我有一些列表和更复杂的结构包含浮点数.打印时,我看到有很多十进制数字的浮点数,但是在打印时,我不需要全部.所以我想在打印浮点数时定义自定义格式(例如2或3位小数).

我需要使用浮点数而不是十进制数.此外,我不允许截断/圆形浮动.

有没有办法改变默认行为?

python floating-point string-formatting python-3.x

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

将数据格式的excel转换为日期格式python

我正在从excel读取数据并使用python操作数据.但是日期将以整数形式出现.如何将日期转换回日期格式?

2015年5月15日即将发布,电话为42139.00

python excel datetime xlrd

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

Docker-compose使用主机DNS服务器的容器

我在"自定义"桥接网络中的"Ubuntu 16.10服务器"上运行了几个容器,其中包含组合2.9(在yml版本2.1中).我的大多数容器都在内部使用相同的端口,因此我无法使用"主机"网络驱动程序.我的容器使用dedicated links属性链接在一起.

但是,我还需要访问我的容器外部暴露的服务.这些服务具有专用URL,其名称在我公司的DNS服务器中注册.虽然我没有问题使用公共DNS并从我的容器中访问任何公共服务,但我无法访问我的私人DNS.

请问,你知道从容器中使用私有DNS的工作解决方案吗?或者甚至更好,使用主机的网络DNS配置?

PS:当然,我可以使用extra_hostsdocker-compose.yml文件中我的服务中的属性链接到我公司的服务.但是......这绝对不是拥有DNS的目标.我不想在我的YML文件中注册我的所有服务,并且我不希望每次在我公司更新服务的IP时都更新它.

背景:

  • 主持人:Ubuntu 16.10服务器
  • Docker Engine:1.12.6
  • Docker撰写:1.9.0
  • docker-compose.yml:2.1
  • 网络:自己的桥梁.

docker-compose.yml文件(提取):

version: '2.1'
  services:
    nexus:
    image: sonatype/nexus3:$NEXUS_VERSION
    container_name: nexus
    restart: always
    hostname: nexus.$URL
    ports:
      - "$NEXUS_81:8081"
      - "$NEXUS_443:8443"
    extra_hosts:
      - "repos.private.network:192.168.200.200"
    dns:
      - 192.168.3.7
      - 192.168.111.1
      - 192.168.10.5
      - 192.168.10.15
    volumes_from:
      - nexus-data
    networks:
      - pic

  networks:
    pic:
      driver: bridge
      ipam:
        driver: default
        config:
          - subnet: 172.18.0.0/16
            gateway: 172.18.0.1
Run Code Online (Sandbox Code Playgroud)

我尝试使用和不使用网络ipam配置pic,没有任何运气.

测试和结果: docker exec -ti nexus curl repos.private.network 正确返回此服务提供的HTML页面

docker …

dns networking docker docker-compose

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

从mat-list-item中删除填充

mat-listangular/material2中的组件应用16px的顶部和底部填充.我想把这个0px.我尝试应用具有更高特异性的样式但它不起作用(或者我做错了).我试图覆盖的样式是:

mat-list-item-content样式应用16px填充

我试图用以下方法覆盖:

.list .mat-list .mat-list-item .mat-multi-line .mat-list-item-content {
  padding-top: 0;
  padding-bottom: 0;
}
Run Code Online (Sandbox Code Playgroud)
<div class="list">
  <mat-list>
    <mat-list-item *ngFor="let item of queue">
      <h1 matLine>{{ item.id }}: {{ item.status}} {{ item.statusDate }}</h1>
      <p matLine>{{ item.name }}</p>
      <p matLine>for {{ item.customer }}</p>
      <div matLine>
        <button mat-icon-button (click)="openTab(item)">
          <mat-icon fontIcon="icon-open"></mat-icon>
        </button>
        <button *ngIf="showAssignToMe" mat-icon-button (click)="assignToMe(item)">
          <mat-icon fontIcon="icon-assign_to_me"></mat-icon>
        </button>
        <button mat-icon-button (click)="notes(item)">
          <mat-icon fontIcon="icon-comment"></mat-icon>
        </button>
      </div>
    </mat-list-item>
  </mat-list>
</div>
Run Code Online (Sandbox Code Playgroud)

css angular-material2 angular

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

django crispy forms:在表单中嵌套formset

我有一个django Formset,我想在另一个表单的中间进行布局.我正在使用django-crispy-forms在父表单中设置布局__init__:

from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout, Field, Div
def __init__(self, *args, **kwargs):
    self.helper = FormHelper()
    self.helper.layout = Layout(
        Div(
            Div(Field('foo'), css_class='span3'),
            Div(Field('bar'), css_class='span4'),
            css_class='row'
            ),
        Field('baz', css_class='span1'),
            ...
            )
    self.helper.add_input(Submit('submit', 'Submit', css_class='btn btn-primary offset4'))
Run Code Online (Sandbox Code Playgroud)

我的模板只是使用{% crispy %}标记呈现表单.

我想知道如何合并formset.我应该在上面的init函数中实例化它吗?我怎么在那里引用它?

还有其他一些在线形式和formset组合的例子,其中一个是连续渲染的,但是我想知道我是否可以更好地控制它们如何与crispy的布局结合在一起.

django django-forms django-crispy-forms

13
推荐指数
3
解决办法
6597
查看次数

在没有GUI冻结的情况下渲染plotly.js图形(Web Worker?)

我正在制作一个仪表板,用户可以在其中构建自己的可视化(使用plotly.js).有时,这些可视化的复杂性导致渲染时间过长,导致浏览器UI冻结.

我已经在仪表板中为其他任务创建了Web工作者.也许有一种方法可以在web-worker中渲染plotly.js图并将它们返回给主线程?

我知道网络工作者没有DOM/Canvas能力.但也许有诀窍或你知道更好的方法来防止GUI冻结?也许用phantomjs将渲染外包给服务器(我从来没有使用它,所以它只是猜测它可以与pjs一起使用).

javascript web-worker plotly

13
推荐指数
1
解决办法
710
查看次数

静态变量初始化的线程安全性

我想知道Get()下面代码中对不同参数类型的2次调用是否是线程安全的:

struct MethodTypeIndex
{
    template <typename T>
    static size_t Get(T)
    {
        static size_t index = NextIndex();
        return index;
    }
private:
    static size_t NextIndex()
    {
        static size_t nextIndex = 0;
        return nextIndex++;
    }
};
Run Code Online (Sandbox Code Playgroud)

一方面,NextIndex()在初始化期间调用index并根据标准:

§6.7 [stmt.dcl] p4
Run Code Online (Sandbox Code Playgroud)

如果控制在初始化变量时同时进入声明,则并发执行应等待初始化完成.

另一方面,我不知道是否将调用NextIndex()视为初始化的一部分index.如果没有,支撑初始化会有所不同吗?

static size_t index{ NextIndex() };
Run Code Online (Sandbox Code Playgroud)

或者,如果我不想制作nextIndex原子线,还有其他方法可以使线程安全 吗?

c++ multithreading c++11

13
推荐指数
1
解决办法
1080
查看次数