python - 追加到列表后列表索引超出范围python
问题描述
我想通过在冒号处拆分每个代理来添加每个代理,然后添加到列表中。我需要做的一件事是然后将冒号添加回 4 个列表索引中的前 3 个的末尾,我不能这样做,因为在测试以确保它编译时我得到了这个错误,lists index out of range.
所以我想好吧,也许他们都是附加到列表中的一个字符串中,所以我做了一个打印语句,我看到了这个,[['fa8tUVQ.usa.unknownproxies.com', '10000', 'mferraro2304', 'o3VXtvjHpWr4\n']]
双括号是否有可能把它搞砸了?如果是这样,我该如何删除它然后继续重新添加冒号?这是我的代码:
for lines in ordered_proxies:
pvar = lines.split(':') # rotating proxy or host
pvars.append(pvar)
print(pvars)
PROXY_HOST = pvars[0]
PROXY_PORT = pvars[1]
PROXY_USER = pvars[2]
PROXY_PASS = pvars[3]
manifest_json = """
{
"version": "1.0.0",
"manifest_version": 2,
"name": "Chrome Proxy",
"permissions": [
"proxy",
"tabs",
"unlimitedStorage",
"storage",
"<all_urls>",
"webRequest",
"webRequestBlocking"
],
"background": {
"scripts": ["background.js"]
},
"minimum_chrome_version":"22.0.0"
}
"""
background_js = """
var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "http",
host: "%s",
port: parseInt(%s)
},
bypassList: ["localhost"]
}
};
chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
function callbackFn(details) {
return {
authCredentials: {
username: "%s",
password: "%s"
}
};
}
chrome.webRequest.onAuthRequired.addListener(
callbackFn,
{urls: ["<all_urls>"]},
['blocking']
);
""" % (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)
get_chromedriver()
解决方案
我将假设 pvars 是一个列表,并且我将假设 ordered_proxies 是某种具有多行的集合,例如文件。这是你正在做的事情:
您正在遍历ordered_proxies 的行。您正在拆分每一行。函数“split”返回一个列表,您将其附加到 pvars。所以当你的循环完成时,pvars 是一个复杂的数据结构:它是一个列表列表。
pvars[0] 是您拆分ordered_proxies 的第一行时获得的字符串列表。pvars[0] 的长度等于第一行中以冒号分隔的项目数。
pvars[1] 是拆分第二行ordered_proxies 时得到的字符串列表。
pvars 的长度是ordered_proxies 中的行数。
print 语句告诉您 pvars 是一个列表(这就是外部方括号的含义),其中包含一个列表(由内部方括号分隔)。双方括号并没有“搞砸”任何事情;它告诉你 pvars 的长度是 1,它唯一的元素是一个四项列表。
当您尝试访问 pvars 中的第二个元素 pvars[1] 时会出现错误,因为 pvars 没有第二个元素。
我无法理解您要做什么,但我可以看到您的代码为什么不起作用。
推荐阅读
- sql - PostgreSQL:将行插入到具有许多(20+)列的表中的更简洁的方法
- .net - 模拟数据库错误的 Mock DbContext
- javascript - 自定义shopify购买按钮
- kotlin - 如何继承一个类并传递一个 PanacheRepository
- amazon-web-services - AWS Rekognition Video 的自定义模型
- pip - WSL 2 Ubuntu 20.04 中的名称服务器问题
- html - 引导表没有并排出现
- javascript - 使用 socket.io 和 mediastream api 在房间内的客户端之间发送实时音频聊天时遇到问题
- r - 通过 `...` 扩展 tidyverse 函数
- python - 不太确定 Python 上的 replace() 函数 - 为什么不将狗替换为猫?