首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包装python os.system方法

包装python os.system方法
EN

Stack Overflow用户
提问于 2015-01-12 12:19:38
回答 1查看 674关注 0票数 0

我有以下perl模块,用于在perl脚本中包装核心::system:

代码语言:javascript
复制
package system_wrapper;

sub check_system {
    my ($cmd) = @_;

    my $err = CORE::system($cmd);
    if ($err != 0) {
        print "Error occured when executing: $cmd. Exiting.\n";
        exit(-1);
    }
}
*CORE::GLOBAL::system = \&check_system;

1;
__END__

我正试图在蟒蛇身上取得同样的成就。我想不出如何使用装饰器将描述的这里语法扩展到这个os方法。

我希望对包装方法的调用与未包装方法完全相同。

status = os.system("mycmd" + " myarg")

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-12 12:28:28

你可以只是猴子补丁os.system。将真正的os.system重命名为其他东西,然后使用它创建一个函数并将其分配给os.system

代码语言:javascript
复制
def my_os_system(cmd):
    err = os._system(cmd)
    if err != 0:
        print "Error occured when executing: %s. Exiting." % cmd
        sys.exit(-1)

os._system = os.system
os.system = my_os_system
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27901882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档