如何修复Perl中的“无此文件或目录”错误?

时间:2019-05-14 20:07:17

标签: perl

我想使用Bioperl模块SeqFeature,但是代码不起作用。

我尝试使用Padre编写代码。

use Bio::SeqIO;
my $seqio_object = Bio::SeqIO->new(-file => "sequence.gb" );
my $seq_object = $seqio_object->next_seq;
print ref($seq_object);

for my $feat_object ($seq_object->get_SeqFeatures) {
print "primary tag: ", $feat_object->primary_tag, "\n";

for my $tag ($feat_object->get_all_tags) {
    print "  tag: ", $tag, "\n";
    for my $value ($feat_object->get_tag_values($tag)) {
        print "    value: ", $value, "\n";
    }
}

}

我希望打开文件,并希望其中的信息显示在输出窗口中,但它有例外。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

当您为要求命名文件存在的操作提供文件名时,操作系统会给出该消息,但实际上却没有。例如,当代码尝试打开一个不存在的文件进行读取时。

根据您提供的最少信息,可以认为该错误是由于尝试打开sequence.gb而引起的。如果是这样,则意味着路径sequence.gb没有引用现有文件。

请记住,路径sequence.gb表示当前工作目录中的名称sequence.gb,因此您的名称错误,并且对当前工作目录做出了错误的假设。

如果要访问与脚本位于同一目录中的文件,则应使用以下内容:

use FindBin qw( $RealBin );

"$RealBin/sequence.gb"

答案 1 :(得分:0)

我认为您需要将完整路径或位置路径写入文件

    -file => "/home/user/sequence.gb"
    -file => "./sequence.gb"

我希望这可以解决您的问题。 祝你好运!