首页 > 解决方案 > Python 中 Perl DB_FILE 模块的等价物是什么?

问题描述

我的主管要求我将一些 Perl 脚本转换为 Python 语言。我对几行代码感到困惑,而且我对 Python 也相对缺乏经验。我是一名 IT 实习生,所以这是一个挑战。

以下是代码行:

my %sybase;
my $S=  tie %sybase, "DB_File", $prismfile, O_RDWR|O_CREAT, 0666, $DB_HASH or die "Cannot open: $!\n";
$DB_HASH->{'cachesize' } = $cache;

我不确定 Python 中这条语句的等价物是什么?DB_FILE 是一个 Perl 模块。DB_HASH 是一种数据库类型,它允许将任意键/值存储在数据文件中,至少根据 Perl 文档是这样。

在那之后,接下来的代码行也让我对如何将其转换为 Python 中的等价代码感到困惑。

$scnt=0;
 while(my $row=$msth->fetchrow_arrayref()) {
     $scnt++;
     $srow++;
     #if ($scnt <= 600000) {
    $S->put(join('#',@{$row}[0..5]),join('#',@{$row}[6..19]));
    perf(500000,'sybase') ;#if $VERBOSE ;
    #   }
 }

我可能会在 Python 中使用 fetchall() 将整个结果数据集存储在其中,然后逐行处理它。但我不确定如何在 Python 中正确实现 join(),尤其是因为这些行在行索引元素中使用范围 - [0..5]。此外,它似乎将输出写入数据文件(查看 put())。我不确定 perf() 是做什么的,有人可以帮我吗?

我会很感激这里的任何帮助。非常感谢。

标签: pythonperl

解决方案


推荐阅读