草庐IT

perl-critic

全部标签

python - 如何从 Python 调用 Perl 脚本,将输入传递给它?

我正在将对DomainKeys和DKIM的一些支持整合到一个开源电子邮件营销程序中,该程序使用python脚本通过SMTP发送实际电子邮件。我决定走快速而肮脏的路线,只编写一个perl脚本,它接受来自STDIN的电子邮件消息,对其进行签名,然后将其返回签名。我想做的是,从python脚本中,将字符串中的电子邮件文本通过管道传输到perl脚本,并将结果存储在另一个变量中,这样我就可以发送已签名的电子邮件。然而,我不完全是Python大师,而且我似乎找不到一个好的方法来做到这一点。我很确定我可以为此使用os.system之类的东西,但是我似乎无法将变量传递给perl脚本。简而言之:如何将变

python - 如何在 Perl 或 Python 中仅打印每三个索引?

如何分别在Python和Perl中执行for()或foreach()循环,只打印每三个索引?我需要将每三个索引移动到一个新数组。 最佳答案 Perl:与draegtun的回答一样,但使用计数变量:my$i;my@new=grep{not++$i%3}@list; 关于python-如何在Perl或Python中仅打印每三个索引?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14

python - 从调用者的角度发出警告(又名 Python 等同于 Perl 的鲤鱼)?

简短版:IstherewaytoachieveinPythonthesameeffectachievedbyPerl'sCarp::carputility?长版(对于那些不熟悉Carp::carp的人):假设我们正在实现一些库API函数(即,它旨在被其他程序员在他们的代码中使用),比如spam,并假设spam包含一些代码来检查传递给它的参数的有效性。当然,如果检测到这些参数有任何问题,这段代码应该会引发异常。假设我们想让关联的错误消息和回溯对调试某些客户端代码的人尽可能有帮助。理想情况下,由此引发的异常产生的回溯的最后一行应该查明“有问题的代码”,即客户端代码中的行spam使用无效参数

python - 有没有等同于 Perl 中取消引用的 Python?

我目前正在将最初用Perl实现的代码库移植到Python。当我在整个数据集上运行时,以下一小段代码占用了大约90%的重要运行时间。defequate():foriinrange(row):forjinrange(row):ifadj_matrix[i][j]!=adj_matrix[mapping[i]][mapping[j]]:returnFalsereturnTrue其中equate是另一个方法内部的闭包,row是整数,adj_matrix是表示矩阵的列表列表,mapping是表示向量的列表。等效的Perl代码如下:subequate{for(0..$row){my($smrow,

python - 我可以从 python 中调用 Perl 吗?

我搜索了很多,我了解到存在用于在Perl中放入python代码的inline::Python。但我正在寻找一些方法,通过python代码,无需编写任何Perl代码即可访问用Perl编写的模块和函数。也许,我要求太多了? 最佳答案 我相信这就是Parrotproject旨在允许。它是一个应该能够运行各种动态语言(包括Python和Perl)的虚拟机。不过,我不知道它对实际使用的准备情况如何,而且我从未见过任何针对希望使用Parrot而不是开发它的人的说明。 关于python-我可以从pyt

python - Perl 的 (<>) 在 Python 中的等价物是什么? fileinput 没有按预期工作

在Perl中使用:while(){#processfilesgivenascommandlinearguments}在Python中我发现:importfileinputforlineinfileinput.input():process(line)但是,当命令行中给出的文件不存在时会发生什么?pythontest.pytest1.txttest2.txtfilenotexist1.txtfilenotexist2.txttest3.txt作为参数给出。我尝试了各种使用try:except:nextfile的方法,但我似乎无法让它工作。对于上面的命令行,脚本应该为test1-3.txt

python - 是否有使用 Perl 的 Storable 卡住 "thaw"数据的 Python 模块?

我有一个遗留数据库,其中包含使用Storable的nfreeze方法编写的简单数据结构(谢天谢地,没有代码引用)Perl中的模块。现在我需要将此数据加载到Python应用程序中。有谁知道Storable的thaw的Python实现?Google没有帮助我。如果涉及到它,我可以从Storable逆向工程数据格式来源,但如果已经完成,我宁愿避免这种乐趣。用代码表达:给定一个这样的Perl程序:#!/usr/bin/perlusestrict;usewarnings;useMIME::Base64;useStorableqw/nfreeze/;my$data={'string'=>'some

python - 高效算法perl或python

面试官在面试中问了一个问题,为以下功能编写快速高效的算法,问题:编写一个函数来根据给定的规则解析给定的字符串并生成最终解析的字符串作为输出写一个接受字符串作为输入的函数,字符串长度在[0..2000000000]之间stringshouldbemadefromonly'A','B'&'C'characterslike'AAA','ABCABC','AAAABBBBABAAACCCA'转换规则:1)'AB'->'AA'2)'AC'->'AA'3)'AA'->'A'4)'CC'->'C'5)'BC'->'BB'6)'BB'->'B'每次对给定的字符串随机应用以上6条规则,并将最终转换后的字

python - 我如何在表达式中使用 Perl 的 s///?

找这个我很头疼:如何在表达式中使用s///而不是赋值。为了阐明我的意思,我正在寻找在以下上下文中使用时与python的re.sub(...)等效的perl:newstring=re.sub('ab','cd',oldstring)到目前为止,我知道如何在perl中执行此操作的唯一方法是:$oldstring=~s/ab/cd/;$newstring=$oldstring;注意额外的分配。 最佳答案 您可以使用($new=$old)=~s/whatever/whateverelse/;来实现您正在寻找的完全相同的功能:usestric

python - 我怎样才能在 Perl 中有变量断言?

如何在Perl中检查变量是否具有特定值?是否有命令停止脚本的执行以查找其中的一些变量?我想知道我是否可以使用插入的Pythonic实践:assert0,(foo,bar)以无调试器的方式调试脚本? 最佳答案 快速CPAN搜索建议Carp::Assert. 关于python-我怎样才能在Perl中有变量断言?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1023813/