http://www.myexception.cn/perl-python/1278887.html

http://blog.chinaunix.net/uid-25979788-id-3081912.html

python 如何启动一个外部命令程序, 并且不阻塞当前进程
在python中如何运行外部命令,并且调用后立即返回,不阻塞当前的进程。
调用 os.system函数时, python程序会被阻塞住, 直到外部命令结束。
比如我通过os.system('notepad'),运行记事本,除非我关闭记事本,不然python程序会一直阻塞,
有哪些方法能够不阻塞的运行外面命令吗?

python

------解决方案--------------------
subprocess.Popen
os.startfile

import os
os.system(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf')
偶想""是不可缺少的,因为路径中有空格,否则极容易出错;对-参数不了解,不发表意见

使用os.system会有几个问题:
1、os.system会阻塞程序继续运行(如果是图形界面,还会把图形界面搞的没反应),当然如果需要阻塞,自然不是问题。
2、os.system会打开一个命令行窗口,这是比较讨厌的;除非你确实需要显示这个命令行窗口或者本来就是命令行里运行的。

所以还是建议使用 os.popen,基本语法是一样的

import os
os.popen(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf')

这样不会出现命令行窗口,不会阻塞程序运行
如果需要阻塞程序运行,可以这样写:
os.popen(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf').read()

最新文章

  1. SwitchHosts—hosts管理利器
  2. C#入门随手笔记
  3. Java文件读写操作指定编码方式防乱码
  4. 3月20,html
  5. IOS socket开发基础
  6. 经典代码-C宏 #转字符串【瓦特芯 笔记】
  7. redis基础-前篇
  8. PHP的五种常见设计模式
  9. Firemonkey 自定义Button的Style
  10. 【java设计模式】之 建造者(Builder)模式
  11. Android APP 性能优化的一些思考
  12. QinQ 简介
  13. 【LeetCode每天一题】Merge Intervals(合并区间)
  14. opencv 傅里叶使用
  15. python程序保存成二进制(不公开源码)
  16. 第11月第8天 ffmpeg ffplay
  17. Linked List Cycle leetcode java (链表检测环)
  18. Ununtu 15.04 安装MySql(Django连接Mysql)
  19. 计算机网络——OSI、TCP/IP协议族详解
  20. json_encode和json_decode和isset和array_key_exists

热门文章

  1. mybatis 批量操作增删改查
  2. RuntimeError: Failed to init API, possibly an invalid tessdata path: E:\python36\报错
  3. css实现盒尺寸重置、均匀分布的子元素、截断文本
  4. 如何把握好 transition 和 animation 的时序,创作描边按钮特效
  5. 编写testplan
  6. 使用VMware克隆出来的新虚拟机无法联网-问题解决记录
  7. leetcode-2-basic
  8. stm32开发套件选择——LL SPL HAL Snippets的应用范围
  9. Java-在JVM关闭前调用的函数
  10. python 配置opencv-python 接口