Exception typeerror: can't concat int to bytes in Python
Hello you guys, I beginner in Python and I'm also studying more about Python.
I write some line of code, it help me concat some bytes and integer get from user input. My block of code as below:
symbol = b'j|encoding: hexdump'
play_symbol = b'emoji.txt0000000 f0'
bonus_number = int(input("Enter bonus number:"))
full_text = symbol + play_symbol + bonus_number
print(full_text)
But I get an exception throw TypeError: can't concat int to bytes when I run code above.
Enter bonus number:5
Traceback (most recent call last):
File "main.py", line 5, in <module>
full_text = symbol + play_symbol + bonus_number
TypeError: can't concat int to bytes
And I am using python 3.8.2
Anyone can explain exception to me? And how can I solve it?
Thanks for any suggestions.
-
Đ1
Đặng Thanh Tuấn Oct 09 2021
You can see error throw from below line of code:
full_text = symbol + play_symbol + bonus_number
Because bytes is NOT allow addition with integer. So you can solve by choose one way below:
1. Using
bytes()
method to help convertint
tobyte
.full_text = symbol + play_symbol + bytes(bonus_number)
#Output
Enter bonus number:5 b'j|encoding: hexdumpemoji.txt0000000 f0\x00\x00\x00\x00\x00'
2. Using
multiply
operator betweenbyte
andinteger
.full_text = (symbol + play_symbol) * bonus_number
#Output
Enter bonus number:5 b'j|encoding: hexdumpemoji.txt0000000 f0j|encoding: hexdumpemoji.txt0000000 f0j| encoding: hexdumpemoji.txt0000000 f0j |encoding: hexdumpemoji.txt0000000 f0j|encoding: hexdumpemoji.txt0000000 f0
-
H0
Hieu Nguyen Oct 09 2021
To solve this issue, you can change:
full_text = symbol + play_symbol + bonus_number
To
full_text = symbol + play_symbol + bytes(bonus_number)
And it worked for you.
* Type maximum 2000 characters.
* All comments have to wait approved before display.
* Please polite comment and respect questions and answers of others.