【问题标题】:Using subprocess to open exe in the same directory as executing script?使用子进程在与执行脚本相同的目录中打开 exe?
【发布时间】:2019-12-05 09:13:05
【问题描述】:

或多或少我正在尝试制作一个使用铬的脚本。我想让它通用,以便它可以安装在任何计算机上并从那里工作。目前,我必须使用文件的完整路径来打开它:

subprocess.Popen('C:\\Users\\name\\Desktop\\script\\chrome.exe bing.com')

这很好用,但我想让它看起来在它正在运行的目录中,所以它会是:

subprocess.Popen('chrome.exe bing.com')

我怎样才能做到这一点?

【问题讨论】:

标签: python


【解决方案1】:

您可以使用__file__ 值,如下所示:

import os
import subprocess

subprocess.Popen([os.path.join(os.path.dirname(__file__) or '.',
                               'chrome.exe'),
                  'bing.com'])

【讨论】:

  • 它的“bing.com”部分是一个铬勾号。当您将其添加到文件路径的末尾时,它会打开该页面的 chrome。不确定这是否会影响您的建议,因为无论有没有它都不起作用。 Chrome 根本打不开
  • 要在subprocess.Popen() 调用中使用参数,您可以像以前一样使用字符串并添加shell=True,或者使用参数列表(第一个是二进制)。出于几个原因,第二个选项是首选。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 2022-10-24
  • 2013-06-26
  • 2015-01-02
  • 2018-06-02
相关资源
最近更新 更多