My code for ic2 is.
import argparse
import smbus
import time
bus = smbus.SMBus(1)
bus.write_byte_data(0x20, 0x00, 0x00)
bus.write_byte_data(0x20, 0x01, 0x00)
bus.write_byte_data(0x20, 0x14, 0x01)    
time.sleep(0.5) 
bus.write_byte_data(0x20, 0x12, 0x00)
time.sleep(0.5) 
It work fine.
And I test this code.
import argparse
import sys
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
print 'Params=', var1, var2, var3
By
python test.py  0x20 0x14 0x01
Params= 0x20 0x14 0x01 
But when I try code to.
import argparse
import sys
import smbus
import time
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
bus = smbus.SMBus(1)
bus.write_byte_data(0x20, 0x00, 0x00)
bus.write_byte_data(0x20, 0x01, 0x00)
bus.write_byte_data(var1, var2, var3)    
time.sleep(0.5) 
bus.write_byte_data(0x20, 0x12, 0x00)
time.sleep(0.5) 
python test.py 0x20 0x14 0x01
Traceback (most recent call last):
  File "test.py", line 16, in 
    bus.write_byte_data(var1, var2, var3)
TypeError: an integer is required
How can I fix it?
 
    