我的系统中的PATH与“ os”模块中的路径不匹配

时间:2019-12-29 01:28:15

标签: python path operating-system

我正试图从这样的python脚本启动Chrome。

Expanded(
              child: Card(
                child: ListTile(
                  title: Text(
                    this.birthDate == null
                        ? 'Birthdate'
                        : '${this.birthDate.year}-${this.birthDate.month}-${this.birthDate.day}',
                    style: TextStyle(color: Colors.grey[600]),
                  ),
                  onTap: () {
                    DatePicker.showDatePicker(
                      context,
                      initialDateTime: this.birthDate,
                      onConfirm: (newDate, listOfIndexes) {
                        setState(() {
                          this.birthDate = newDate;
                        });
                      },
                    );
                  },
                ),
              ),
            ),

当我运行它时,我得到:

'chrome.exe'不被识别为内部或外部命令, 可操作的程序或批处理文件。'

我猜测是os.sys.path.append()修改的路径与os.system()中使用的路径不同吗?如何确保我将chrome添加到正确的路径,并且在通过os.system()运行命令时可以正常工作?

3 个答案:

答案 0 :(得分:3)

os.system产生一个子外壳,该子外壳可能不会对您在python进程中进行的系统路径进行更改。如果您知道可执行文件的完整路径,则应将其传递给调用

os.system('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe -remote-debugging-port=9014 --user-data-dir="{}"'.format(profilePath))

答案 1 :(得分:0)

尝试使用os.system吗?

os.system('setx path "%path%;C:\Program Files (x86)\Google\Chrome\Application"')

答案 2 :(得分:0)

对我来说这可行:

将Chrome添加到path variables

运行subprocess

import subprocess

chrome_path = "chrome.exe --new-window"
start_page = "https://google.com"

command = 'cmd /c "%s %s"' % (chrome_path, start_page)
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)