python字符串循环的问题

所以我无法让我的代码在循环中使用字符串列表作为输入。到目前为止,这大致是我所拥有的。


from arcgis.gis import GIS


Users = ['User01','User02','User03']

User_string = str(Users) # Have to do this as code needs input as string

gis = GIS("https://www.arcgis.com","USERNAME","PASSWORD") # This logs you into ArcGIS Online

User_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 位置?


隔江千里
浏览 192回答 2
2回答

江户川乱折腾

您正在将列表作为字符串执行 for,因此它会在字符串的每个字符上循环。您需要使用原始列表进行操作。

元芳怎么了

根据您的代码,您告诉for循环迭代 a String,因为您将列表转换为带有User_string = str(Users);的字符串。所以循环遍历字符串上的每个字符,现在是User01User02User03您需要做的是迭代 list Users,例如:from arcgis.gis import GISUsers = ['User01','User02','User03']gis = GIS("https://www.arcgis.com","USERNAME","PASSWORD") # This logs you into ArcGIS OnlineUser_role = 'org_user'for x in Users:    test = gis.users.get(username=x)    test.update_role(role=User_role)  print("Done! Check Web")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python