小编Mar*_*ert的帖子

如何使用 Pentaho Kettle 从电子邮件中获取附件?

我陷入了一个大问题。我的任务是使用 IMAP 协议从服务器下载一些电子邮件。这是通过使用“获取邮件(POP3 / IMAP)”作业条目来完成的,该条目以二进制格式下载电子邮件。

二进制格式的文件是.mail包含发件人、主题、正文和编码附件文件的文件。我需要获取单独的文件,因为我必须以这些文件作为输入来实现一些步骤。

我看到有第三方库或实用程序可以解码文件.mail并获取附件文件列表。但是,我想在没有任何额外实用程序的情况下执行此过程(因为这应该需要 shell 步骤,具体取决于 SO)。

有什么方法或技巧可以仅使用 Pentaho 作业条目或转换步骤来获取附件吗?

我使用的是 Pentaho Kettle 5.1 版本。

email jobs pentaho kettle

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

使用Docker-EE上的Kubernetes无法从pod中进行Pod标记

我们在Kubernetes上使用Apache-Kafka部署,该部署基于在创建pod之后标记pod的功能(请参阅https://github.com/Yolean/kubernetes-kafka).代理pod的init容器利用此功能在其自身上设置标签,并将其自己的数字索引(例如"0","1"等)作为值.标签在服务描述符中用于精确选择一个pod.

这种方法适用于我们的DIND-Kubernetes环境.但是,当尝试将部署移植到Docker-EE Kubernetes环境时,我们遇到了麻烦,因为该命令会kubectl label pod产生运行时错误,这完全是误导性的(另请参阅https://github.com/fabric8io/kubernetes-client/issues/ 853).

为了在最小设置中验证运行时错误,我们创建了以下部署脚本.

第一步:使用Docker-EE-Host成功标记pod

# create a simple pod as a test target for labeling
> kubectl run -ti -n default --image alpine sh

# get the pod name for all further steps
> kubectl -n default get pods

NAME                                READY     STATUS    RESTARTS   AGE
nfs-provisioner-7d49cdcb4f-8qx95    1/1       Running   1          7d
nginx-deployment-76dcc8c697-ng4kb   1/1       Running   1          7d
nginx-deployment-76dcc8c697-vs24j   1/1       Running   0          20d
sh-777f6db646-hrm65                 1/1       Running   0          3m      <--- This is the test pod …
Run Code Online (Sandbox Code Playgroud)

kubernetes docker-ee

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

平衡的S的最长子序列

给出的问题:

如果字符串中的左括号和右括号可以正确配对,则称一串括号被平衡.例如,字符串"(())"和"()()"都是平衡的,而字符串"(()("不平衡.
给定长度为n的字符串S由括号组成,假设你想要找到平衡的S的最长子序列.使用动态编程,设计一种算法,在O(n ^ 3)时间内找到S的最长平衡子序列.

我的方法:
假设给定的字符串:S [1 2 ... n]
有效的子序列可以在S [i]结束,如果S [i] ==')'即S [i]是一个右括号并且存在在S [i]之前至少有一个未使用的开口支撑.可以在O(N)中实现.

#include<iostream>
using namespace std;
int main(){
    string s;
    cin >> s;
    int n = s.length(), o_count = 0, len = 0;
    for(int i=0; i<n; ++i){
        if(s[i] == '('){
            ++o_count;
            continue;
        }
        else if(s[i] == ')' && o_count > 0){
            ++len;
            --o_count;
        }
    }
    cout << len << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试了几个测试用例,它们似乎工作正常.我在这里错过了什么吗?如果没有,那么我怎样才能为这个问题设计一个O(n …

algorithm dynamic-programming

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

如何在python selenium中按类名及其文本定位元素

嗨,我试图通过其类名和它包含的文本来定位元素

<div class="fc-day-number">15</div>
Run Code Online (Sandbox Code Playgroud)

fc-day-number页面上有一堆不同的值,我需要一个例如15.

我做

driver.find_element_by_class_name("fc-day-content") 
Run Code Online (Sandbox Code Playgroud)

但我也需要它等于15,我被困在这里,请帮忙.

python selenium

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

开发服务器上的AppEngine Search API

这个问题真的很奇怪.我在本地开发服务器上索引一些文档.索引在管理控制台(文本搜索链接)中可见.然后我用--clear_datastore交换机重启服务器.所有数据存储区实体都已消失,但当我单击管理控制台中的"文本搜索"链接时,仍然会看到文本搜索索引.

我怎么摆脱他们?

google-app-engine

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

测试121时is_prime函数失败,不知道为什么

我正在尝试编写一个接受整数x的函数,如果是prime则返回True,否则返回False.它的工作正常,除了测试数字121时我无法弄清楚原因.这是我的代码:

def is_prime(x):
    if x < 2:
        return False
    elif x == 2:
        return True
    else:
        for i in range(2,x):
            if x%i == 0:
                return False
            else:
                return True
Run Code Online (Sandbox Code Playgroud)

当检查121时,它似乎跳过if x%i == 0:,因为121%11是0,但它不会返回为False.我错过了一些明显的东西吗?我很感激能得到的任何帮助,谢谢.哦,我正在使用Python 2.7

python primes modulo

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

如何递归模拟随机游走?没有循环(Python)

Python问题

我有一个随机步骤的功能:

def random_step(): 
    """ chooses a random step (-1 or 1) and returns it.
        inputs: none! However, make sure to use parens when calling it.
            For example: ramdom_step()
    """
    return random.choice([-1, 1])
Run Code Online (Sandbox Code Playgroud)

我需要在我写的这个函数中调用它:

rw_outcome( start, numsteps ),需要两个输入:

  • start,一个表示梦游者起始位置的整数
  • numsteps,一个正int,表示从起始位置获取的随机步骤数

它应该模拟随机游走,其中包含numsteps随机步骤,其大小是使用调用来确定的random_step(),但我会继续返回相同的起始位置.

它应该与print返回的一个例子('start is',start):

>>> rw_outcome(40, 4)
start is 40
start is 41
start is 42
start is 41
start is 42
42
Run Code Online (Sandbox Code Playgroud)

到目前为止我所拥有的:

def rw_outcome(start, numsteps):
    print('start is', start)
    if start + (numsteps*random_step()) …
Run Code Online (Sandbox Code Playgroud)

python simulation recursion random-walk

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