1. 程式人生 > >一個python批量給mongodb新增資料例子

一個python批量給mongodb新增資料例子

#!/usr/bin/python
# coding: utf-8

import pymongo;
import sys;
import re;

def ooIp2Hostname(OoIp) :
# 10.1.2.3 -> s10-1-2-3
    OoHostname = re.sub('\.', '-', OoIp);
    OoHostname = 's' + OoHostname;
    return(OoHostname);


def ooCheckIpInMongo(OoIp, OoConn) :
# check whether a ip already in mongo.
    OoFind = OoConn.salt.pillar.find({'p2p_local_ip': OoIp});
    return(OoFind.count());

def ooAddOnePillarMongo(OoIp, OoConn) :
    OoHostname = ooIp2Hostname(OoIp);
    if ooCheckIpInMongo(OoIp, OoConn) == 0 :
        OoConn.salt.pillar.insert({'_id': OoHostname,
            'p2p_local_ip': OoIp});

def ooAddPillarMongo() :
    OoFd = open('allip.txt', 'r');
    OoList = OoFd.readlines();
    try :
        OoConn = pymongo.connection.Connection('localhost');
    except :
        return;
    for x in OoList :
        x = x.strip();
        ooAddOnePillarMongo(x, OoConn);

def main() :
    ooAddPillarMongo();
                                                              1,5           Top