我是Python的新手,所以请对我简单一点,因为这可能是我忽略的一个简单循环。本质上,我试图做的是让用户输入以逗号分隔的URLS列表,然后将这些URL单独加入API调用的结尾。当我删除一个地址的.split时,它能完美地工作,但是我很想知道如何获取它来处理多个用户输入。我尝试设置一个计数器和一个循环的上限,然后使它以这种方式工作,但无法使其正常工作。
import requests
import csv
import os
Domain = input ("Enter the URLS seperated by commas").split(',')
URL = 'https:APIcalladdresshere&' + Domain
r = requests.get(URL)
lm = r.text
j = lm.replace(';',',')
file = open(Domain +'.csv', "w",)
file.write(j)
file.close()
file.close()
print (j)
print (URL)
答案 0 :(得分:0)
很遗憾,我没有足够的声誉来发表评论,并询问您的意思是它无法正常工作(我想您是指我在下面提到的内容),但是如果您有类似以下内容的列表,域,然后寻找一个可以使您摆脱困境的特定输入(使您没有所说的上限)。像这样:
Domains = []
while True:
domain = input ("Enter the URLS seperated by commas: (Enter 'exit' to exit)")
if 'exit' in domain.lower():
break
else:
Domains.append(domain.split(','))
Urls = []
for domain in Domains:
URL = 'https:APIcalladdresshere&' + domain
Urls.append(domain) #or you could just write Urls.append('https:APIcalladdresshere&' + domain)
但是随后,行URL = 'https:APIcalladdresshere&' + Domain
将引发TypeError
,因为您正尝试向字符串添加列表(您将Domain
转换为带有Domain.split(',')
的列表) 。上面的循环可以正常工作,但是如果您坚持使用逗号分隔的网址,请尝试:
URL = ['https:APIcalladdresshere&' + d for d in Domain]
URL现在是您可以迭代的列表。
希望这会有所帮助!