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

Recevoir des notifications et trouver des solutions liées à de nouvelles questions ou à des problèmes connus

Recevez des réponses synthétisées et des solutions en vidéo de notre nouvel agent conversationnel (IA).

Télécharger l’application Esri Support

Informations associées

En savoir plus sur ce sujet

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Télécharger l’application Esri Support

Accéder aux options de téléchargement