ai didi

Python "call()"函数不接受从 "abspath()"到文件的路径

转载 作者:太空宇宙 更新时间:2023-11-03 18:14:33 24 4
gpt4 key购买 nike

也许这个问题很明显,所以请原谅。

我想执行shell命令(Windows 8.1,Python 3.4)来打开带有SVG文件的IE。我这样做是这样的:

# imgpath = 'C:/Users/Vladimir/dot-code\\..\\graph1.svg'
tmp = FS.abspath(imgpath)
# tmp = 'C:\\Users\\Vladimir\\graph1.svg'
subprocess.call(["start", "", tmp])

看起来不错,但我在 call() 内遇到异常 - FileNotFoundError: [WinError 2] File not found.

我认为邪恶的根源是“tmp”中的双斜杠。我该如何修复它?

最佳答案

您不应传递空字符串。 (我猜,你的意思是将命令和参数分开。)。删除空白字符串。只需传递 start 和路径即可。

此外,start 不是一个真正的程序,而是 cmd 的内置命令。使用cmd/c:

subprocess.call(['cmd', '/c', 'start', tmp])

或传递shell=True关键字参数:

subprocess.call(['start', tmp], shell=True)

顺便说一句,在 Windows 上,您可以使用 os.startfile :

import os
os.startfile(tmp)

关于Python "call()"函数不接受从 "abspath()"到文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25216027/

24 4 0
文章推荐: python - nohup进程在Raspberry Pi机器中自动终止
文章推荐: python - 无法在 appengine 数据存储区中存储数据
文章推荐: python - 对于每组对 REST API 函数的调用,仅发送一封电子邮件
文章推荐: python - Django 根据 bool 字段设置日期
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com