Получить имя файла и аргументы из пути в системе Windows (с Python) - PullRequest
1 голос
/ 04 апреля 2020

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

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

binaryPath = "C:\Windows\System32\msiexec \V"

В идеале, я хотел бы, чтобы результат был:

filename: "msiexec.exe"
arguments: "\V"

Вот что я попробовал (и это работает для 99% путей с аргументами, только не выше). И, очевидно, "// V" все испортило, а os.path зациклило его с filepath.

import os

binaryPath = "C:\Windows\System32\msiexec \V"

fn_with_arguments = os.path.basename(binaryPath)
image = fn_with_arguments[0].replace("'","")
arguments = " ".join(fn_with_arguments[1:])
if image:
    print("Image: {}".format(image))

if arguments:
    print("Arguments: {}".format(arguments))

>>> Image: V

Есть идеи? Здесь важна скорость, поэтому я не хочу разбивать путь на части, а затем повторять, чтобы найти кусок с «точкой» в нем ...

...