PROCÉDURE

obtenir le nom du dossier contenant un certain élément à l’aide d’ArcGIS API for Python

Last Published: April 7, 2023

Résumé

Utilisez les scripts Python ci-dessous pour rechercher le nom de dossier d’un élément donné dans Portal for ArcGIS.

Procédure

Dans l’exemple ci-dessous, l’ID d’élément est utilisé pour rechercher l’élément et renvoyer son nom de dossier :

#libraries

import arcgis
from arcgis.gis import GIS
from arcgis.gis import User

#variables

portalurl = "https://hostname.domain.com/portal"
username = "....."
password = "....."
#the id of the item that you want to know is in which folder
#(you can retrieve the item in any other way you find suitable)
itemid = "4f394f2cda81415294f96134220e0c7d"

#login

gis = GIS(portalurl,username,password,verify_cert=False)

#retrieve item

item = gis.content.get(itemid)


#specify user

user = User(gis,username)

#retrieve the folder of the item by searching for the item id

for f in user.folders:
    list = user.items(folder=f)
    for i in list:
        search_id = list[list.index(i)].id
        if item.id == search_id:
            print(f['title'])

Les ID d’élément sont propres à l’organisation. Ainsi, le script dans l’exemple ci-dessus n’affiche qu’un seul nom de dossier. Dans l’exemple ci-dessous, le titre de l’élément est utilisé pour rechercher l’élément. Contrairement à l’ID d’élément, plusieurs éléments peuvent avoir le même titre dans l’organisation, et le script ci-dessous renvoie tous les éléments ayant ce titre ainsi que leur nom de dossier :

#libraries

import arcgis
from arcgis.gis import GIS
from arcgis.gis import User

#variables

portalurl = "https://hostname.domain.com/portal"
username = "........"
password = "........"
#the title of the item that you want to know is in which folder
#(you can retrieve the item in any other way you find suitable)
itemtitle= "..........."

#login

gis = GIS(portalurl,username,password,verify_cert=False)

#retrieve item

itemsearch = gis.content.search(query=f"title:{itemtitle}")


#specify user

user = User(gis,username)


#retrieve the folder of the item by searching for the item title

for f in user.folders:
    list = user.items(folder=f)
    for i in list:
        if i.title == itemtitle:
            print(f"{i} is in folder {f['title']}")

ID d’article: 000028966

Obtenez de l'aide avec l'IA

Résolvez rapidement votre problème avec le chatbot Esri Support AI.

Commencez à discuter maintenant

Informations associées

En savoir plus sur ce sujet

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Commencez à discuter maintenant

Accéder aux options de téléchargement