For the moment my script can create a file and the content. However, I would like to have a way in my code to directly noticed if the file already exists, and then if it exists, it creates a new file which will not be Y but Y_2 or Y with the current date. So I can have a history of my file created.
customername = "X"
workspacename = "Y"
structureDict = {
    "attribute": ["attributes/screens"],
    
    "content": ["containers", 
                "dataProcessing", 
                "fields", 
                "properties", 
                "sources", 
                "structures", 
                "usages"],
    
    "types": ["containers/types", 
              "dataProcessing/types", 
              "fields/types", 
              "properties/types", 
              "sources/types", 
              "structures/types", 
              "usages/types"]
}
 
for category in structureDict:
    for endpoint in structureDict[category]:
        print (category, endpoint)
def writeContentToFile(mode, customername, workspacename, category, endpoint, jsonContent):
    path = os.path.join(os.getcwd(), customername, workspacename, category)
    Path(path).mkdir(parents=True, exist_ok=True)
    
    with open(path + "/" + endpoint + '.json', mode, encoding='utf-8') as f:
        json.dump(jsonContent, f, ensure_ascii=False, indent=4)
  
        f.close()
for category in structureDict:
    for endpoint in structureDict[category]:
        
        endpointFilename = endpoint
        
        if category in ["attribute", "types"]:
            endpointFilename = endpoint.replace("/", "_")
        url = url_X + endpoint
        params = {"versionId":Workspace_id,
                "includeAccessData":"true", 
                  "includeAttributes":"true",
                  "includeLinks":"true"
                 }
        jsonResponse = requests.get(url, params=params, headers={"Authorization":accessToken}).json()
        writeContentToFile('a', customername, workspacename, category, endpointFilename, jsonResponse)
        
        try:
            jsonResponsePages = jsonResponse['pages']
            if int(jsonResponsePages) != 1:
                for i in range(2, jsonResponsePages+1, 1):
                    params["page"] = str(i)
                    jsonResponse = requests.get(url=url, params = params, headers={"Authorization":accessToken}).json()['results']
                    writeContentToFile('a', customername, workspacename, category, endpointFilename, jsonResponse)
                    
        except:
            print(endpoint)
            next
 
     
     
    