Невозможно создать правильный путь для использования с os.system - PullRequest
0 голосов
/ 12 декабря 2018

Я знаю, что подобные вопросы возникают постоянно, но я прочитал все, что могу найти.Решения там немного помогли мне, но я все еще не могу построить правильный полный путь, который содержит пробелы.

После исследования я обнаружил, что решение добавляется \ и принимает все в одинарных кавычках.Таким образом, этот путь приемлем, как вы можете видеть ниже.

import os
os.system('\"C:\Program Files (x86)\remar\remar.exe"')

Но проблема в том, что мне нужно добавить консольный комманд, поэтому путь должен выглядеть следующим образом:

C: \ Program Files (x86) \ remar \ remar.exe --break-in = null

Я попытался объединить несколько частей пути, но результат неприемлем для os.system() выражение.

Я не могу сделать что-то подобное - "'\" + '"C:\Program Files' + ' ' + "(x86)\remar\remar.exe"'" + ' ' + '--break-in=null'

Что я должен сделать, чтобы собрать все части в один правильный путь?

PS - я пробовал решения из пути Windows в Python , но у меня это не работает.Может быть, это потому, что версия Python.Я использую 3.61 BTW.

1 Ответ

0 голосов
/ 12 декабря 2018

Попробуйте использовать os.path.join здесь.Не заканчивайте свою переменную пути обратной косой чертой, объединение сделает это за вас.

import os, subprocess
path = r"C:\Program Files (x86)\test"
filename = "test.exe"

result = os.path.join(path, filename)
print(result)
subprocess.run(result)

Вы также можете найти интерес к Pathlib Path

...