小编llr*_*lrs的帖子

在Perl中,如何确定是否存在标准输入?

我有一个抓住标准输入的脚本:

&process_input

sub process_input {
    while(<STDIN>) {
       $log_data .= $_;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时:

myscript.pl -param1=a -param2=b
Run Code Online (Sandbox Code Playgroud)

我陷入了这个子程序.如果我这样做,一切都运行正常:

echo "" | myscript.pl -param1=a -param2=b
Run Code Online (Sandbox Code Playgroud)

问题是我如何确定我是否有标准品?我原本以为while()会返回false并且不会运行,但我猜它实际上正等着你输入一些东西,因为它被"卡住"了.

perl stdin

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

我正确使用super()吗?

我做了一小部分代码因为我还在试图弄清楚使用的具体细节super().为什么这个块会运行到这个TypeError

 a = SecondClass()
TypeError: __init__() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

然后,该SecondClass.meth()函数应该打印字符串,但我显然在概念上遗漏了一些东西.

class FirstClass (object):
    def __init__ (self, value):
        self.value = value
        print self.value

class SecondClass (FirstClass):
    def meth (self):
        super (FirstClass,self).__init__(value = "I am a strange string")

a = SecondClass()
a.meth()
Run Code Online (Sandbox Code Playgroud)

python oop inheritance super

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

基于规则的PDF文本提取用于各种账单和发票

我必须从发票和账单pdf文件中提取文本

文件布局可能变得复杂,尽管它主要是填充表格.

我已经阅读了几篇关于pdf格式的文章,我们的大脑掌握它的难易程度以及机器理解其结构的难度.

还下载了一些像python的pdfminer和一些java工具的工具,有些甚至有基于规则的布局提取,就像LA-PDBtext这些都是很棒的库,让你走最后一步.

Adobe还有一个名为exportPdf的在线服务,但无法自定义

最重要的是,据我所知,为了从结构化的pdf文件中提取文本并将其转换为XML,应该有一定程度的手工工作.

我还发现了From Data Extractor,这是一个非免费工具,可以设置声称可以完成工作的提取规则,虽然很难找到合适的手册,但它只在Windows上运行.

我想我甚至可以尝试将这些文件转换为图像并尝试tesseract-ocr,但在我花更多时间之前决定在这里寻求建议.

如果有经验的人给我一个暗示,我将非常感激.

pdf text-extraction

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

Linux top -b 仅显示特定列

我想捕获要在另一个程序中使用的 top 命令的输出,但是我只需要某些信息,更准确地说,我只需要 USER、PID、CPU、COMMAND 列。我已经有了top -b -n 1 | sed -n '7,12p'过滤前 5 个结果的命令,但我不能再进一步了,因为我对 sed/awk 不太了解。

示例:这是我得到的

PID USER    PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND  
4 root      20   0   98748  50608   4608 S  6.4  4.9 212:12.16 X  
1 root      20   0    2132    128     96 S  0.0  0.0   0:07.62 init  
2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd  
3 root      20   0       0      0      0 S  0.0  0.0   7:28.54 ksoftirqd/0
Run Code Online (Sandbox Code Playgroud)

这是我想要的 …

linux bash shell awk sed

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

Kolmogorov-Smirnov检验:当存在关系时,应用于离散变量的双样本检验的精确p值

我从不同的地方得到了两个样本.我感兴趣的参数是离散的(频率).我对两个站点进行了模拟,因此我知道每个站点的随机分布的概率.由于我的模拟,我知道我的参数与其平均值的偏差不是正常分布的,因此我进行了参数测试.我检查了单样本Kolmogorov-Smirnov,如果样本可能来自这些随机分布(示例数据,不是真实的):

sample1 <- rep(1:5, c(25, 12, 12, 0, 1))
rand.prob1 <- c(.51, .28, .111, .08, 0.019)
StepProb1 <- stepfun(0:4, c(0, cumsum(rand.prob1)), right = T)
dgof::ks.test(sample1, StepProb1)

sample2 <- rep(1:5, c(19, 13, 10, 5, 3))
rand.prob2 <- c(.61, .18, .14, .05, 0.02)
StepProb2 <- stepfun(0:4, c(0, cumsum(rand.prob2)), right = T)
dgof::ks.test(sample2, StepProb2)
Run Code Online (Sandbox Code Playgroud)

在下一步中,我想检查两个站点的样本是否可能来自相同的分布.KS-test(包statsdgof)的两个实现都发出警告,因为我的样本有关系:

stats::ks.test(sample1, sample2)
dgof::ks.test(sample1, sample2)
Run Code Online (Sandbox Code Playgroud)

如果我正确理解Dufour和Farhat(2001),有一种方法可以通过蒙特卡罗模拟的平局来计算精确的p值.如果我正确理解dgof包的包描述,它的Monte Carlo模拟的实现仅适用于单样本测试.

所以我的问题:当有关系存在时,是否有人知道如何计算应用于离散变量的双样本Kolmogorov-Smirnov检验的R中的精确p值?

或者(虽然与R没有特别关联):如果没有人知道如何以可承受的工作量来做这件事,我会选择未经修正的p值,因此要小心地讨论结果.但p值低于0.0001.我其实并没有过分关注它.但是我知道什么......你认为这是对的还是我在这种情况下犯了一个严重的错误?

在此先感谢,我已经感谢您在这里阅读.

r

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

OpenSSL 错误无法验证 SSL 证书

我安装了 OpenSSL 并尝试使用它来使用此页面中显示的命令验证我的 SSL 证书,但我总是收到此错误:

s_client -connect server.yourwebhoster.eu:995 
18556:error:2008F002:BIO routines:BIO_lookup_ex:system lib::0:H connect:errno=11001 error in s_client
Run Code Online (Sandbox Code Playgroud)

我想验证这些证书,因为当我尝试使用使用 https.get 请求的节点 js 运行程序时,我被阻止了: 执行错误

我在互联网上搜索了解决方案,我发现了这一行: npm config set strict-ssl false

我试过了,将它设置为 true 然后再次设置为 false 但没有任何改变,

ssl openssl npm self-signed-certificate

6
推荐指数
0
解决办法
5685
查看次数

创建课程遵循哪种策略?

我正在努力学习课程的运作方式.我想用一些共享元素创建不同的类而不是其他类,但据我所知,我可以通过三种不同的方式创建它:

  • 创建一个包含所有共享元素的类,然后继承此类并修改新类中的特定方法和属性.像这样的东西:

     class Enemy(object):  
         """Enemy!"""  
        def __init__(self, damage=30, life=100, enemy="Hero"):  
        #And keep defining the class and its methods and attributes in common with all the enemys
    
     class Troll(Enemy):  
         """Troll!"""
         def __init__ (self, defense=0):  
         #And define the specific attributes and methods for Trolls.
    
    Run Code Online (Sandbox Code Playgroud)
  • 创建一个类并询问一种类,并更改从中获取输入的对象的定义.像这样的东西:

    class Enemy(object):  
         """Enemy!"""  
         def __init__(self, damage=30, defense=0, life=100, type="Troll" enemy="Hero"):  
             if type=="Troll":  
                #Do that for type "Troll"  
             if type=="Goblin":  
                #Do that for type  "Goblin"  
             #And keep defining the class and its methods and attributes for each accepted …
    Run Code Online (Sandbox Code Playgroud)

python class

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

logstash不会将旧日志导入ES

当我启动logstash时,旧日志不会导入ES.
只有新的请求日志记录在ES中.
现在我在文档中看到了这一点.

即使我设置了start_position=>"beginning",也没有插入旧日志.
这只发生在我在linux上运行logstash时.

如果我使用相同的配置运行它,则会导入旧日志.
我甚至不需要start_position=>"beginning"在Windows 上设置.

对此有何想法?

linux elasticsearch logstash

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

在foreach中构建.combine函数

我有一个我想要并行执行的进程,但是由于一些奇怪的错误我失败了.现在我正在考虑组合,并计算主CPU上的失败任务.但是我不知道如何为.combine编写这样的函数.

怎么写?

我知道如何编写它们,例如这个答案提供了一个例子,但它没有提供如何处理失败的任务,也没有重复在主服务器上重复任务.

我会做的事情如下:

foreach(i=1:100, .combine = function(x, y){tryCatch(?)} %dopar% {
    long_process_which_fails_randomly(i)
}
Run Code Online (Sandbox Code Playgroud)

但是,如何在.combine函数中使用该任务的输入(如果可以的话)?或者我应该在内部提供%dopar%返回标志或列表来计算它?

parallel-processing foreach r

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

是否可以为blogdown"new post"addin创建Rmd文件模板?

我发现自己在我的Rmd帖子中使用了很多相同的R代码,并且目前有一个模板文件,我将这个常见的R代码粘贴到新帖子中.但是,现在我想知道是否可以修改Rmd帖子模板以包含这些常见R代码行,并提醒自己如何做一些事情.如果这与RStudio中的blogdown addin"new post"一起使用会很好.

我在这里搜索了博客书和blogdown repo,但没有看到有关如何执行此操作的信息.最接近似乎是https://bookdown.org/yihui/blogdown/default-template.html但这是用于修改html模板,而不是Rmd模板.

这是一个示例Rmd文件,我想用作我的Rmd帖子模板https://gist.github.com/lcolladotor/eafaae5de96d84440acee4fc9393ffcc

最好的,莱昂纳多

PS博客在http://lcolladotor.github.io/2018/02/17/r-markdown-blog-template/上博客,最后在http://lcolladotor.github.io/2018/03/08/blogdown- archetype-template /.

r hugo blogdown

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