所以我无法让我的代码在循环中使用字符串列表作为输入。到目前为止,这大致是我所拥有的。from arcgis.gis import GISUsers = ['User01','User02','User03']User_string = str(Users) # Have to do this as code needs input as stringgis = GIS("https://www.arcgis.com","USERNAME","PASSWORD") # This logs you into ArcGIS OnlineUser_role = 'org_user'for x in User_string: test = gis.users.get(username=x) test.update_role(role=User_role) print("Done! Check Web")我只是无法让循环正常工作。当我删除 for 循环并将每个用户名单独放入时,get user 和 update role 命令工作得很好,只是在循环中被破坏了。我得到的两个错误是用户名必须是一个字符串。我通过添加 str() 命令解决了这个问题,但我无法让用户名进入 user.get 循环。有什么建议?这段代码实际上是在查看一个 excel 文件来生成用户名列表,所以我不能只是将列表硬编码到代码中。如果它对我一直用于代码的 ArcGIS 部分的所有网站都有帮助,那就是这个:https : //developers.arcgis.com/python/guide/accessing-and-managing-users/我应该提到我也尝试过打印test=gis.users.get(username=User_string)它以 None 的形式返回。所以我想我的问题是如何让“User01”进入 username=x 位置?
2 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
根据您的代码,您告诉for循环迭代 a String,因为您将列表转换为带有User_string = str(Users);的字符串。所以循环遍历字符串上的每个字符,现在是User01User02User03
您需要做的是迭代 list Users,例如:
from arcgis.gis import GIS
Users = ['User01','User02','User03']
gis = GIS("https://www.arcgis.com","USERNAME","PASSWORD") # This logs you into ArcGIS Online
User_role = 'org_user'
for x in Users:
test = gis.users.get(username=x)
test.update_role(role=User_role)
print("Done! Check Web")
添加回答
举报
0/150
提交
取消