Я задаюсь вопросом, почему я эту ошибку, когда я запускаю этот код:AttributeError: «INT» объект не имеет атрибута «заменить»
# 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
вывода ошибка:
user_input= user_input.replace(" ","") # ignore space
AttributeError: 'int' object has no attribute 'replace'
Этот код предполагается принять входную и обратную информацию. Заранее спасибо!
Вы используете Python 2.x, где 'input()' оценивает то, что пользователь вводит как выражение Python. Так как пользователь набрал целое число, вы получите 'int', а не' str'. Вместо этого используйте 'raw_input()', и вы всегда получите строку. – kindall
Я бы посоветовал вам опубликовать полный код с операторами импорта. – Eddie