python - 如何将字典中的url传递给python中的函数
问题描述
我正在尝试通过将 url 传递给它来调用函数,但我不太清楚如何为我的用例完成它。
在下面代码的最后一行,有我想做的事情。我知道在这样的函数中输入字典键很糟糕,但我不知道如何正确地将字典的def
键传递给函数。感谢您的指导。urls
get_page()
这是我的代码:
...
urls = {
"abc": abc_url,
"def": def_url,
}
if site in urls:
print("site: " + site, "url: " + urls[site])
products = get_index_data(get_page(urls[site]))
for link in products:
time.sleep(15)
data = get_detail_data(get_page(link))
print(data)
write_csv(data, link)
def get_page(urls[site]):
...code continues...
解决方案
首先
由于 python 是一种解释性语言(它逐行读取代码并且不编译);因此函数实现应该在函数调用之前。
现在来回答你的问题,当调用get_page(urls[site]))
它时,它会传递字典中的值。所以你的函数应该有一个参数,比如def get_page(website_url):
总结一下——
...
urls = {
"abc": abc_url,
"def": def_url,
}
def get_page(website_url):
...function code...
if site in urls:
print("site: " + site, "url: " + urls[site])
products = get_index_data(get_page(urls[site]))
for link in products:
time.sleep(15)
data = get_detail_data(get_page(link))
print(data)
write_csv(data, link)
...code continues...
注意:您可以从字典中获取两个键和值
if website_name, website_url in urls.items():
推荐阅读
- c++ - 函数在 C++ 中返回错误值
- dns - 使用 LetsEncrypt 的批量 DNS
- polygon - 什么是沿多边形网格表面沿选定方向将粒子移动特定距离的有效算法?
- system.reactive - 避免可观察管道中的多次调用
- sorting - ElasticSearch 按多个脚本排序
- java - 使用自动装配从实现类设置抽象类的属性
- vue.js - Vue:在 vue-select 下拉列表中呈现共享相同值的选项列表?
- c - 如何迭代指向void的指针数组
- postgresql - 如何加速分区表上的服务器端聚合
- typescript - formValueSelector 总是返回 undefined