Are you sure that the log file is even created? I cannot see where this name is mentionned - but maybe it is created by default.
Are you asked for the password by sudo?
This could tell you if sudo is really run.
os.system is kind of deprecated or at least frowned upon; better use subprocess.call(), subprocess.check_call() or subprocess.Popen() (gives you an object which you can use to further control the process).
EDIT: Just tested. Here the scan runs, but the output gets displayed instead of written to a file. Probably you are missing the > nmapscan1.log part in the os.system() call.
With subprocess, you would write
sp = subprocess.Popen(['sudo', 'nmap', '-sC', '-sV', '-PN', '-O', '192.168.0.1/24'],
stdout=file("nmapscan1.log", "w"))
sp.wait()
f = open('nmapscan1.log', 'r')
print f.read()
f.close()
or if you don't need the file, simply
sp = subprocess.Popen(['sudo', 'nmap', '-sC', '-sV', '-PN', '-O', '192.168.0.1/24'],
stdout=subprocess.PIPE)
print sp.stdout.read()
sp.wait()