我有一些代码,我已经从perl翻译成python,但我有一段时间试图找出这最后一部分。你知道吗
my $bashcode=<<'__bash__';
. /opt/qip/etc/qiprc;
. /opt/sybase/sybase.sh
perl -mdata::dumper -e 'print dumper \%env';
__bash__
my $var1;
eval qx(bash -c "$bashcode");
虽然我了解(一点)这是在做什么,但我似乎不知道如何在python中做到这一点。任何帮助都将不胜感激。你知道吗
本部分:
是一个here doc,你可以用Python来做:
您可以使用os.system或subprocess.check_output之类的工具来完成Bash。你知道吗
然后将结果反馈给
eval
,作为Perl代码运行。你知道吗(
eval
的智慧和结果取决于这些Bash命令生成的内容。看起来这些命令正在生成一个Perl脚本。显然,这不会在Python中执行。Python还有eval。在任何语言中使用eval
都要谨慎。)在Perl中使用
\%env
似乎表示可以访问主机的环境。但是,访问操作系统环境哈希的实际Perl变量是ENV
大写。在Bash中,使用小写env
访问环境要访问Python中的主机环境,请使用os.environ
你的程序正在生成一个脚本并运行它。你知道吗
第一个python近似值是:
如您所见,perl仍在您的脚本中使用,该脚本使用模块data::dumper。如果您想在这里使用python,您可能需要等效的模块。你知道吗
相关问题 更多 >
编程相关推荐