如何获得字符之前的所有内容和之后的x值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (41)

我正在访问API以获取一些信息。不幸的是,它是获取该信息并执行此操作的唯一API,它会下载文件的二进制内容并为其命名:

folder\filename.whatevertest\purpleMonkeyTest.docx

有一些来自通话的更多信息,但有这一行:

Saved the binary content to: /home/user/python/test\purpleMonkeyTest.docx

一些文件有"或其他特殊字符所以我不能只获取文件名并将其作为脚本的一部分删除,因为我不知道要逃避什么。

所以我的目标是剥离线并得到:

/home/user/python/test\purpleMonkeyTest.docx

然后得到:

/home/user/python/test\pu

然后:

os.remove "/home/user/python/test\pu"*

我认为通配符应该适用于所有人,除非有更好的方法。保存的所有文件都包含其中的字符\,所以我已经达到了我之前获得所有内容的程度,\但我之后想要一两个字符。

这是我尝试过的:

def fileName(itemID):
    import fnmatch
    details = itemDetails(itemID, True) # get item id and file details
    filepath = matchPattern((details), 'Saved the binary content to: *')
    filepath = (filepath).split('\\')[0]
    print(filepath)
    #os.remove(re.escape(filepath))
    return (matchPattern((details), 'Binary component: *'))


def matchPattern(details, pattern):
    import fnmatch
    return (fnmatch.filter((details), pattern)[0].split(": " ,1)[1])

输出:

/home/user/python/test
purpleMonkeyTest.docx

我确实想要以后的文件名:这实际上是主要目标。API会自动下载该死的文件。

下面的答案适用于获取我想要的字符。Os删除不是删除文件。

OSError: [Errno 2] No such file or directory: '/home/user/python/test\\Re*'
提问于
用户回答回答于

就我理解你的问题而言,你想要检索两个部分-第一部分之间的所有内容/\之后有两个字符,然后所有的东西\:

str = "Saved the binary content to: /home/user/python/test\purpleMonkeyTest.docx"

print (str[str.index("/"):str.rindex("\\") + 3])
print (str[str.rindex("\\") + 1:])

输出量

/home/user/python/test\pu purpleMonkeyTest.docx

扫码关注云+社区

领取腾讯云代金券