AttributeError: 'int' - Objekt hat kein Attribut 'ersetzen'
Frage ich mich, warum ich diese Fehlermeldung, wenn ich diesen code ausführen:
# Ask user input
# Find out network device id for network device with ip or hostname, index 3 is device id
# In the loop until 'id' is assigned or user select 'exit'
id = ""
device_id_idx = 3
while True:
user_input = input('=> Select a number for the device from above to show IOS config:')
user_input= user_input.replace(" ","") # ignore space
if user_input.lower() == 'exit':
sys.exit()
if user_input.isdigit():
if int(user_input) in range(1,len(device_show_list)+1):
id = device_list[int(user_input)-1][device_id_idx]
break
else:
print ("Oops! number is out of range, please try again or enter 'exit'")
else:
print ("Oops! input is not a digit, please try again or enter 'exit'")
# End of while loop
output-error:
user_input= user_input.replace(" ","") # ignore space
AttributeError: 'int' object has no attribute 'replace'
Dieser code sollte akzeptieren, input-und return-Informationen. Vielen Dank im Voraus!
Bist du mit Python 2.x, wo
Ich möchte Sie ermutigen, sich zu post eine vollständige code mit import-Anweisungen.
input()
bewertet, welche die Benutzer als Python-Ausdruck. Da der Benutzer eingegeben hat, eine ganze Zahl, erhalten Sie eine int
eher als eine str
. Verwenden raw_input()
statt, und Sie werden immer ein string.Ich möchte Sie ermutigen, sich zu post eine vollständige code mit import-Anweisungen.
InformationsquelleAutor Lawrence Orewa | 2016-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit Python ist3.x
input
wird ein string zurückgegeben werden,können Sie versuchen, Debuggen Sie Ihren code zu überprüfen, die Art vonuser_input
oderWenn Sie mit Python2.x
input
vielleicht ist nicht ein guter Weg für Ihren codeda
input
- Funktion wertet Ihre Eingabe.Wenn Sie Ihre Eingabe1 2
erhalten SieSyntaxError: invalid syntax
,und wenn Sie Ihre Eingabe1
,und es wirdint
Objekt,das ist, warum Sie bekam den Fehler.Schlage ich vor
raw_input
weilraw_input
nimmt sich genau das, was der Benutzer eingegeben werden, und übergibt Sie wieder als string.Lesen Sie diese
Hoffe, das hilft.
InformationsquelleAutor McGrady