Jun-23-2020, 11:58 PM
Hi All
Please could i ge tsome help as to why i am getting error with this code ?? I am new to python so please excuss my not understanding this error
Please could i ge tsome help as to why i am getting error with this code ?? I am new to python so please excuss my not understanding this error
Error:Traceback (most recent call last):
File "c:/Python Code/CSL Zoom Screen Control v1.1.py", line 32, in <module>
wake_on_lan('0F:0F:DF:0F:BF:EF')
File "c:/Python Code/CSL Zoom Screen Control v1.1.py", line 22, in wake_on_lan
send_data = ''.join([send_data,struct.pack('B', int(data[i: i + 2], 16))])
TypeError: sequence item 1: expected str instance, bytes found
import socket import struct def wake_on_lan(macaddress): """ Switches on remote computers using WOL. """ # Check macaddress format and try to compensate. if len(macaddress) == 12: pass elif len(macaddress) == 12 + 5: sep = macaddress[2] macaddress = macaddress.replace(sep, '') else: raise ValueError('Incorrect MAC address format') # Pad the synchronization stream. data = ''.join(['FFFFFFFFFFFF', macaddress * 20]) send_data = '' # Split up the hex values and pack. for i in range(0, len(data), 2): send_data = ''.join([send_data,struct.pack('B', int(data[i: i + 2], 16))]) # Broadcast it to the LAN. sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.sendto(send_data, ('<broadcast>', 7)) if __name__ == '__main__': # Use macaddresses with any seperators. wake_on_lan('0F:0F:DF:0F:BF:EF') wake_on_lan('0F-0F-DF-0F-BF-EF') # or without any seperators. wake_on_lan('0F0FDF0FBFEF')