码迷,mamicode.com
首页 > 编程语言 > 详细

python中调用命令行命令

时间:2015-07-20 19:28:02      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:python   命令行   shell   

http://blog.csdn.net/pipisorry/article/details/46972171

在Python/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法

1、os.system(command)

os.system()函数用来运行shell命令。此命令可以方便的调用或执行其他脚本和命令

  • #打开指定的文件  
  • >>>os.system(‘notepad *.txt‘

  • 2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)

    若置syn为wx.EXEC_ASYNC则wx.Excute函数立即返回,若syn=wx.EXEC_SYNC则等待调用的程序结束后再返回。

    callback是一个wx.Process变量,如果callback不为None且syn=wx.EXEC_ASYNC,则程序结束后将调用wx.Process.OnTerminate()函数。

    os.system()和wx.Execute()都利用系统的shell,执行时会出现shell窗口。如在Windows下会弹出控制台窗口,不美观。下面的两种方法则没有这个缺点。

    3、import subprocess

    subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)

    Note:

    1. 如果command(args)不是一个可执行文件,shell=True不可省

    2. Popen.wait()可以得到命令的返回值

    [Python中subprocess学习 ]

    4、webbrowser.open(url)

    前面三个方法只能用于执行程序和打开文件,不能处理URL,打开URL地址可用webbrowser模块提供的功能。

    调用系统缺省浏览器打开URL地址,如 webbrowser.open(‘http://www.jb51.net‘),也可以利用
    webbrowser.open(‘h:\python.zip‘)来执行程序。这样可以不必区分是文件名还是URL,不知道在Linux下是否可行。
    以上在Windows2000,Python2.4a1,wxPython 2.5.1运行。
    5. subprocess.call(*args, **kwargs)

    subprocess.call (["cmd""arg1""arg2"],shell=True)

    [python调用shell的方法]

    from:http://blog.csdn.net/pipisorry/article/details/46972171

    ref:python中执行linux命令(调用linux命令)


    版权声明:本文为博主原创文章,未经博主允许不得转载。

    python中调用命令行命令

    标签:python   命令行   shell   

    原文地址:http://blog.csdn.net/pipisorry/article/details/46972171

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!