小编Yu *_*hen的帖子

调用 sink() 后没有出现 R 输出

我有一组复杂的 R 脚本,并决定将所有与调试相关的消息称为 via message()。我试图找到一种方法来抑制所有消息,并偶然发现了这篇SO post,它建议我尝试使用sink(). 因此,我将以下代码行插入到我的脚本中,并设置了我的config$debug_mode <- FALSE

if (!config$debug_mode){
  messages <- file("messages.Rout", open = "wt")
  sink(messages, type = "message")
}
Run Code Online (Sandbox Code Playgroud)

另一个 SO 帖子和 R 文档说只需调用sink()sink(file=NULL)停止之前的转移,但这对我不起作用。即使在调用 之后sink(),我也没有看到我的message()调用中的 R Studio 控制台输出。此外,sink.number()返回0,这似乎表明没有转移。那么,为什么我不再在 R Studio 控制台中看到输出?

r rstudio

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

Jenkins docker 容器只是挂起并且从不执​​行步骤

我正在尝试在 Jenkins 中运行 Python 映像以使用 pytest 执行一系列单元测试,但是我在使用 Docker 时遇到了一些奇怪的行为。

我的 Jenkinsfile 管道是

  agent {
      docker { image 'python:3.6-jessie' }
    }

    stages {
      stage('Run tests') {
        steps {
            withCredentials([
                string(credentialsId: 'a-secret', variable: 'A_SECRET')
            {

              sh label: "Install dependencies", script: 'pip install -r requirements.txt'
              sh label: 'Execute tests', script: "pytest mytests.py"
            }
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行管道时,Docker 似乎正在执行一条很长的指令(-e环境变量比我定义的凭据多得多?),然后是cat.

然后构建只是挂起并且永远不会完成:

         Jenkins does not seem to be running inside a container
            $ docker run -t -d -u 996:994 
    -w /var/lib/jenkins/workspace/myproject 
    -v …
Run Code Online (Sandbox Code Playgroud)

jenkins docker

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

带有ActiveCell的VBA中Cell和Range()之间的关系

我学习VBA并且真的很困惑Range()VBA 究竟需要什么.我对OOP和Java/Python等语言有着非常扎实的把握,但是VBA在这里给我一个循环.

我尝试使用时出错

Set MyRange = Range(ActiveCell, Range(ActiveCell.End(xlDown)))
Run Code Online (Sandbox Code Playgroud)

我知道正确的解决方案是

Set MyRange = Range(ActiveCell,ActiveCell.End(xlDown))
Run Code Online (Sandbox Code Playgroud)

但我试图理解为什么会这样.该错误特别来自Range(ActiveCell.End(xlDown)).我知道从MSDN文档.End()返回一个Range对象.

但是,当我写作

MsgBox (TypeName(ActiveCell))
Run Code Online (Sandbox Code Playgroud)

我被告知这ActiveCell是一个Range对象.Range("A1")工作完全正常(当然),同时Range(ActiveCell)抛出一个错误,所以我想这证实了Range()没有接受Range对象.

但是,"A1"显然是一个String.当我输入Range()我的VBA编辑器时,我看到它Range()接受Cell作为参数参数.那么a Cell和a 之间的关系RangeVBA什么?是Range继承自Cell?我很困惑为什么Range()接受其他Range对象,还有String

如果Range()不接受Range对象作为参数,那么为什么这段代码可以工作呢?

Range("A2", Range("A2").End(xlDown).End(xlToRight))

这里没有.End()退回Range物品吗?

excel vba excel-vba

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

object.__getattribute__ 如何重定向到我的描述符和 __getattr__ 上的 __get__ 方法?

我有一个关于 的实现的由两部分组成的问题object.__getattribute(self, key),但它们都集中在我对它如何工作的困惑上。

我定义了一个名为 的数据描述符NonNullStringDescriptor,我打算将其附加到属性上。

class NonNullStringDescriptor:

    def __init__(self, value: str = "Default Name"):
        self.value = value

    def __get__(self, instance, owner):
        return self.value

    def __set__(self, instance, value):
        if isinstance(value, str) and len(value.strip()) > 0:
            self.value = value
        else:
            raise TypeError("The value provided is not a non-null string.")
Run Code Online (Sandbox Code Playgroud)

然后我声明一个Person具有 属性的类name

class NonNullStringDescriptor:

    def __init__(self, value: str = "Default Name"):
        self.value = value

    def __get__(self, instance, owner):
        return self.value

    def __set__(self, instance, value):
        if …
Run Code Online (Sandbox Code Playgroud)

python oop

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

如何直接作为类属性访问枚举的值?

我正在学习如何Enum在 Python 中使用类,并且发现每当我需要访问枚举的实际值时,我都需要附加.value属性:

from enum import Enum
class Pets(Enum):
    DOG = "Fido"
    CAT = "Kitty"

Pets.DOG # yields Pets.DOG
Pets.DOG.value # yields Fido
Run Code Online (Sandbox Code Playgroud)

作为练习,我正在尝试配置我的Enum类,这样我就不需要不断访问该value属性。我想要的行为是,当我打电话时Pets.DOG,我得到Fido了我的价值。

我试图实现这一点__getattr_(cls, item)

class Pets(Enum):

    def __getattr__(self, item):
        print(f"__getattr__ called with {item}")
        return getattr(self, item).value

    DOG = "Fido"
    CAT = "Kitty"


if __name__ == "__main__":

    pets = Pets()
    pets.DOG
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个RecursionError: maximum recursion depth exceeded while calling a Python object, 并且 …

python enums

0
推荐指数
1
解决办法
1905
查看次数

标签 统计

python ×2

docker ×1

enums ×1

excel ×1

excel-vba ×1

jenkins ×1

oop ×1

r ×1

rstudio ×1

vba ×1