我用以下命令:subprocess.Popen(['start', 'hello.txt'], shell=True)
打开txt文档后,文档马上关闭,使用subprocess.Popen(['C:\Windows\notepad.exe', 'hello.txt'], shell=True)打开文档就不会出现马上关闭的情况,哪位高手能指导一下。
Popen中start启动程序
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 引用 皆我百晓生 小程序回复内容作答:
在Windows上使用
subprocess.Popen
执行start
命令来打开文档时,如果没有指定程序关联文件类型,文件将会被默认的关联程序打开,并且由于没有进程继续运行,文档可能会被关闭。这是start
命令的默认行为。另一种使用
subprocess.Popen
的方式是直接指定要启动的程序路径和文件路径。在你的例子中,使用notepad.exe
作为程序来打开文档,这种方式会创建一个新的进程来运行notepad.exe
,因此文档不会立即关闭。你可以尝试以下代码来打开文档并保持打开状态:
import subprocess subprocess.Popen(['notepad.exe', 'hello.txt'], shell=True)
注意,
notepad.exe
的路径需要使用两个反斜杠进行转义,或者使用原始字符串以避免转义字符。如果你想使用其他已关联的默认程序来打开文档,你可以使用
os.startfile
方法,如下所示:import os os.startfile('hello.txt')
这会使用与文件类型关联的默认程序来打开文档,并且不会立即关闭。
解决 无用评论 打赏 举报
悬赏问题
- ¥20 ARKts悬浮窗和快捷方式问题
- ¥15 comparecluster没有办法kegg
- ¥15 远程访问linux主机超时
- ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
- ¥15 CPU卡指令整合指令数据都在图片上
- ¥15 odoo17处理受托加工产品
- ¥15 如何用MATLAB编码图三的积分
- ¥15 圆孔衍射光强随孔径变化
- ¥15 MacBook pro m3max上用vscode运行c语言没有反应
- ¥15 ESP-PROG配置错误,ALL ONES