Я сталкиваюсь с проблемой, когда пытаюсь получить имя файла и аргументы из двоичного пути.
Например, вот двоичный путь, который доставляет мне проблемы:
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
Есть идеи? Здесь важна скорость, поэтому я не хочу разбивать путь на части, а затем повторять, чтобы найти кусок с «точкой» в нем ...