[英]Determining relative path in Perl Module
第一个模块:
package Compute;
our $sort_script= "/app/scripts/python_script.py";
第二单元:
package ProcessRestart;
use Compute;
# This perl module is also in /app/scripts/
# host1.com is an argument or script parameter
$returnMsg= `$Compute::sort_script host1.com`;
以上是我编写的perl模块的示例。 它从其他模块调用python脚本并将其传递给必要的参数/参数。
我已经尝试删除键入脚本的实际路径并将其替换为“./python_script.py”但它似乎不起作用。
我尝试在使用Cwd运行脚本时打印目录,它指向我的主目录。
还有哪些方法可以尝试获得脚本的相对路径?
我想你问的是如何执行一个脚本,该脚本位于与执行它的模块相同的目录中。
use Path::Class qw( file );
my $qfn = file(__FILE__)->dir->file('python_script.py');
要么
use File::Basename qw( dirname );
my $qfn = dirname(__FILE__) . '/python_script.py';
要么
use Dir::Self qw( __DIR__ );
my $qfn = __DIR__ . '/python_script.py';
__FILE__
是一个特殊标记,它返回符号所在文件的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.