小编jks*_*snw的帖子

如何解决perl程序将其输出写入文件?

我想用ROUGE分析我的摘要.到目前为止,我已经编写了一个perl脚本来在命令行上运行ROUGE,这是我到目前为止所做的:

#!/usr/bin/perl

use warnings;
use Cwd;
$curdir=getcwd;
$ROUGE="/ROUGE-1.5.5.pl";
chdir("sample-test");
$cmd="$ROUGE -e /data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a DUC2002ROUGE.in.26.spl.xm> /sample-output/salam.out";
print $cmd,"\n";
system($cmd);
chdir($curdir);
Run Code Online (Sandbox Code Playgroud)

但是我收到此错误:

系统找不到指定的路径

perl

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

使用nltk pos标记器标记单个单词标记每个字母而不是单词

我试着用nltk pos标记器标记一个单词:

word = "going"
pos = nltk.pos_tag(word)
print pos
Run Code Online (Sandbox Code Playgroud)

但输出是这样的:

[('g', 'NN'), ('o', 'VBD'), ('i', 'PRP'), ('n', 'VBP'), ('g', 'JJ')]
Run Code Online (Sandbox Code Playgroud)

它标记每个字母而不仅仅是一个字.

我该怎么做才能让它标记出来?

python nlp nltk pos-tagger python-2.7

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

Perl相当于Python中的工作池

我有一些Python代码完全符合我的要求,但我也需要在Perl中使用类似的东西.

这是我的Python代码:

pool = multiprocessing.Pool()
for item in list:
    pool.apply_async(myFunction, args=(item,))
pool.close()
pool.join()
Run Code Online (Sandbox Code Playgroud)

此代码在其自己的进程而不是线程中运行每个函数.同时运行的最大进程数等于逻辑核的数量.

python perl multiprocessing

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

从Python运行Perl代码(带有输出到文件)

我正在尝试从Python运行Perl脚本.我知道,如果运行终端Perl脚本,我希望Perl脚本的输出要写入的文件,我需要补充> results.txtperl myCode.pl.这在终端中工作正常,但是当我尝试在Python中执行此操作时它不起作用.

这个代码:

import shlex
import subprocess

args_str = "perl myCode.pl > results.txt"
args = shlex.split(args_str)
subprocess.call(args)
Run Code Online (Sandbox Code Playgroud)

尽管> results.txt它没有输出到该文件但它确实输出到命令行.

python subprocess shlex

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

标签 统计

python ×3

perl ×2

multiprocessing ×1

nlp ×1

nltk ×1

pos-tagger ×1

python-2.7 ×1

shlex ×1

subprocess ×1