Adding newusers to Unix system from mysql data (Better Approach)
David M. Wilson
dw-google.com at botanicus.net
Sat Dec 27 08:14:28 EST 2003
"Amy G" <amy-g-art at cox.net> wrote...
> My problem is this... It writes the data file without problem. But, the
> os.system... does not necessarily work to add a new user. By 'not
> necessarily' I mean that it works some of the time, but not all of the time.
> If I run the program and it does not work, I can simple type 'adduser -f
> <filepath>' at the command line and it works no problem. Any ideas what
> could be causing this.
Have you tested adduser seperately? I can't see any problem with your
code, suggesting it may be adduser.
> for line in c:
> userid, password, name = line
You can do inline tuple unpack:
for userid, password, name in c:
> aList.append("%s::20::::%s::sh:%s" %(userid, name, password))
>
> f1=open('/home/sean/bin/users.test', 'w')
> for line in range(len(aList)):
> f1.write(str(aList[line]) + "\n")
Just in case you hadn't noticed the shortcut here:
for userid, password, name in c:
f1.write("%s::20::::%s::sh:%s\n" %(userid, name, password))
> f1.close
Ahah! Where are the parenthesis? :) Your file is probably not getting
flushed to disk:
f1.close()
David.
More information about the Python-list
mailing list