簡體   English   中英

Python拆分復雜窗口命令字符串

[英]Python split complex windows command string

我正在尋找一種拆分復雜的 Windows 命令字符串的方法,例如:

"C:\\DOCUME~1\\<USER>~1\\LOCALS~1\\Temp\\is-M186E.tmp\\one.exe C:\\two.exe\" Track=\"0011011000\"\""

(一個進程用選項啟動另一個進程)以獲得第一個可執行文件名,例如one.exe

由於這些字符串來自各種日志,它們可能非常復雜,我不知道目錄名稱中是否會有空格。 有沒有人知道如何做到這一點?

我在 linux 機器上使用 python 3。

編輯:好的抱歉,我誤導了,我不知道文件擴展名。 它可能不是.exe

首先,使用 split ('\\') 將字符串拆分為子字符串,並在循環中遍歷生成的元組,像這樣搜索.exe

for sub in str.split ('\\'):
    if '.exe' in sub:
        return sub

如果您有多個可選擴展名,請更改條件以查找字符串列表,即( if sub[-3:] in [str1, str2]

import re  

st = r"C:\\DOCUME~1\\<USER>~1\\LOCALS~1\\Temp\\is-M186E.tmp\\one.exe C:\\two.exe  C:\\three.wav\" Track=\"0011011000\"\""

對於不同的擴展,將 |\\w+.ext 添加到模式

pattern = r'\\(\w+\.exe|\w+\.wav)'

print(re.findall(pattern,st))

['one.exe', 'two.exe', 'three.wav']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM