Я делаю программу, которая должна сохранять ваш IP-адрес в списке в отдельном файле, используя полку.Каждый раз, когда он открывается, он должен указать свой IP-адрес в списке «pubipcount» в списке «pubiplist».Когда я иду, чтобы добавить новый ip, я получаю ошибку, которую я не понимаю.
Я только побежал код постепенно, чтобы найти часть, которая сломана, и я взял на себя свободусузить его до той информации, которая нужна мне для помощи.Я уже искал в Интернете возможный ответ, но не нашел ничего полезного для меня.
import shelve
import socket
import urllib.request
save = shelve.open('ip_whitelist', writeback=True)
hostname = socket.gethostname()
PubIP = urllib.request.urlopen('https://ident.me').read().decode('utf8')
LocIP = socket.gethostbyname(hostname)
save['pubipcount'] = 0
save['pubiplist'] = []
save['pubipcount'] = save['pubipcount'] + 1
save['pubiplist']['pubipcount'] = PubIP
Это точная ошибка:
Traceback (most recent call last):
File "C:\Users\brenn\Desktop\IP\ip.py", line 27, in <module>
save['pubiplist']['pubipcount'] = PubIP
TypeError: list indices must be integers or slices, not str