利用python中的内建subprocess模块打开其他应用程序方法

1. 利用subprocess模块中的Popen()函数可以启动计算机中的其他程序(这里Popen中的P指代process,进程)。每个进程可以有多个线程,不像线程,进程之间是相互独立的,进程无法直接读写另一个进程的变量。利用subprocess.Popen('可执行文件绝对路径名')打开程序,需要注意的是:打开的程序和python程序不在同一个进程中运行。

2. Popen()函数返回Popen对象,其有两个有用的方法:poll()和wait()。poll()方法询问打开的程序进程是否终止运行,如果poll()调用时程序仍在运行,poll()方法返回None,如果程序已经终止,其返回程序进程的整数退出代码:无错终止(退出代码为0),错误导致终止(退出代码非0,通常为1,可能根据程序而不同)。
 wait()方法将阻塞python程序,直到打开的程序进程终止。wait()方法同样返回进程的整数退出代码。

3. 向Popen()传递命令行参数,用 Popen()创建进程时,可以向进程传递命令行参数:向 Popen()传递一个列表,作为唯一的参数。
该列表中的第一个字符串是要启动的程序的可执行文件名,所有后续的字符串将是该程序启动时,传递给该程序的命令行参数。
实际上,这个列表将作为被启动程序的 sys.argv 的值。(大多数 GUI 应用程序将接受一个参数, 表示应用程序启动时立即打开
的文件,例如下列语句:)

subprocess.Popen(['C:\\Windows\\notepad.exe', 'C:\\hello.txt'])


4. 用默认的应用程序打开文件:在 Windows操作系统上,执行 start 程序打开文件将以与文件扩展名关联的应用程序打开文件。例
    如下列语句将自动使用记事本程序打开纯文本文件:

subprocess.Popen(['start', 'hello.txt'], shell=True)

这里需要注意的是,windows操作系统需要shell=True关键字。

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值