Python:根据票证状态删除文件夹

时间:2020-07-29 18:15:19

标签: python windows selenium jira

我正在尝试使用python构建脚本,该脚本将根据JIRA中的解析度自动从共享网络位置删除文件夹。

所有文件夹名称都使用以下基本名称“ PROJECT-11111”,这基本上就是jira中的票证ID(例如:jira.host.com \ browse \ PROJECT-11111)。

我正在努力解决的问题,这可能很容易,但是对于python和编程而言,我还是很陌生的是,在共享网络位置,有一些文件夹不一定使用上述格式,而我想要过滤掉它们,因为我想调用基本jira URL +文件夹名称以便直接访问票证。

之后,如果解决了票证的问题,我将需要删除该特定文件夹。

我知道可以通过使用REST API来更轻松,更快速地完成此操作,但我希望一开始就保持简单。

1 个答案:

答案 0 :(得分:0)

让我们考虑您有一个文件存储库,其UNC路径为\\jira.host.com\browse。 该目录包含每个票证的文件夹。

要删除票证文件夹,您可以编写以下功能:

import pathlib
import shutil

# WORK_DIR is the UNC path to your file repository
WORK_DIR = pathlib.Path(r"\\jira.host.com\browse")


def remove_folder(ticket_id: str) -> None:
    """ Remove the ticket folder located in the repository """
    ticket_path = WORK_DIR.joinpath(f"PROJECT-{ticket_id}")
    if ticket_path.exists():
        print(f"removing '{ticket_path}'...")
        shutil.rmtree(ticket_path, ignore_errors=True)
    else:
        print(f"'{ticket_path}' already removed.")

然后,您可以在给定票证ID的情况下调用remove_folder函数。

remove_folder("11111")