我在python下运行一个perl程序,但是报错,说没有权限

Python020

我在python下运行一个perl程序,但是报错,说没有权限,第1张

这种情况一般发生在windows图形界面下,双击执行程序后,DOS窗口运行完毕自动就关闭了。

解决办法:

1 你在程序最后加上system(“pause”), 这个调试方法改变了程序本身,不推荐。

2 你进入dos命令行,找到perl脚本所在目录,然后敲 perl <脚本名> 来执行。

3 如果你装有gvim,可以用gvim来打开perl脚本,然后敲 :!perl <脚本名> 来执行, 我通常用这种方法。

以前遇到类似的问题。给你一个强有力的解决办法。

用python建立一个临时 的shell脚本。里面放上你所需要所有调用。然后通过python的os.system再调用这个临时的shell脚本。

如果还有问题,就是你perl的问题。

记得要用chmod将shell脚本设置成可以执行。

为什么不直接写成一个SHELL呢?

#!/usr/bin/perl -w

use strict

my$i=1

while($i<=8926){

my$a="scaffold$i"

my$b="/home/meiyu/scaffoldfasta/$a.fa"

my$c="home/meiyu/rRNAjieguo/$a.out"

`perl rfam_scan-1.0.2.pl -o $c -blastdb Rfam.fasta Rfam.cm $b`

$i++

}

用SHELL:

for i in `find /home/meiyu/scaffoldfasta/ -name "*.fa"`do b=${i##*/}b=${b%%.*}$c="/home/meiyu/rRNAjieguo/$b.out"perl rfam_scan-1.0.2.pl -o $c -blastdb Rfam.fasta Rfam.cm $idone