将linux系统用户导入mysql表
下面这个程序实现的一个很简单的功能,读取passwd文件,将里面的用户信息写入到mysql里面,
具体代码如下:
1 #!/usr/bin/python 2 3 import pymysql 4 import time 5 6 7 ''' 8 9 CREATE TABLE `os_user` ( 10 `user` varchar(20) NOT NULL, 11 `haspass` char(5) NOT NULL, 12 `uid` int(10) NOT NULL, 13 `gid` int(10) NOT NULL, 14 `descuser` varchar(100) NOT NULL, 15 `homedir` varchar(100) NOT NULL, 16 `loginshell` varchar(100) NOT NULL, 17 PRIMARY KEY (`uid`), 18 UNIQUE KEY `unique_var` (`user`,`uid`) 19 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 20 21 22 ''' 23 24 try: 25 conn = pymysql.connect(host='127.0.0.1',unix_socket='/tmp/mysql.sock',\ 26 user='root',passwd='123456',db='pydb') 27 cur = conn.cursor() 28 f = open('passwd') 29 30 try: 31 for i in f.readlines(): 32 Tmplist = list(i.strip('\n').split(':')) 33 sql = 'INSERT INTO os_user \ 34 (user,haspass,uid,gid,descuser,homedir,loginshell) values \ 35 (\'%s\',\'%s\',%s,%s,\'%s\',\'%s\',\'%s\')' % \ 36 (Tmplist[0],Tmplist[1],Tmplist[2],Tmplist[3],Tmplist[4],Tmplist[5],Tmplist[6]) 37 cur.execute(sql) 38 time.sleep(1) 39 conn.commit() 40 print 'Create user %s Successful..' % Tmplist[0] 41 except pymysql.err.IntegrityError as e: 42 print 'User %s exits.' % Tmplist[0] 43 print 'Please check, Exit...' 44 except Exception as e: 45 print 'Error : %s ' % e 46 47 except Exception as e: 48 print 'Error : %s ' % e 49 50 51 finally: 52 cur.close() 53 conn.close() 54 f.close()
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
http://www.cnblogs.com/topicjie/