1. 程式人生 > >python通過配置檔案連線mysql

python通過配置檔案連線mysql

之前在python中連線mysql是直接在python檔案中寫的,這次把資料庫資訊放在單獨一個配置檔案中

這是linux環境下

下面列出了select update insert 語句

#!/bin/env python
#-*-coding:utf-8-*-
import sys
import MySQLdb 
import json
import time
import os

cur_time="\""+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"\""
print cur_time

task_id = raw_input("input task_id:")

with open('conf/default.conf','r') as confFile:
    confStr = confFile.read()
conf = json.JSONDecoder().decode(confStr);

##########################################
#connect table result
dbStaticResult = conf['database']['db_bim_rap_result_db'];
conn = MySQLdb.connect(host=dbStaticResult['host'],\
        user=dbStaticResult['user'],\
        passwd=dbStaticResult['password'],\
        db=dbStaticResult['database'],\
        port=dbStaticResult['port']);
cur = conn.cursor();

#rap_query_sequence_random_url = sys.stdin.readline().strip()

#insertion = 'insert into `user-portrait`(`task_id`, `user-portrait_file_url`, `insert_datetime`, `update_datetime` ) values ("' + sys.argv[1] + '", "' + rap_query_sequence_random_url + '",' + cur_time + ' ,'+ cur_time + ' )'
selection = 'select * from `user-portrait` where task_id =' + task_id 

try:
    cur.execute(selection)
    rows = cur.fetchall()
    if (rows.__len__() != 0):
        print rows[0][4]        # is_deleted
        update_result = 'update `user-portrait` set is_deleted = 1 where task_id =' + task_id 
        cur.execute(update_result)
except:
    print "exception on execute sql"

conn.commit()
conn.close();

##########################################
# mv task_id task_id_bak
# 進入指定目錄下修改檔名,用shell命令執行失敗
old_task = "task_" + task_id 
new_task = old_task + "_bak"
mv_command = "mv " + old_task + " " + new_task
print mv_command
#os.system('cd /home/work/local/job/sf/strategy/')  # 用單引號或者雙引號都可以
#os.system('pwd')
os.chdir('/home/work/local/job/sf/strategy/')
print os.getcwd()
if (os.path.exists(old_task)):
        print "file exist and start rename"
        os.system(mv_command)
print "all process done"
conf/default.conf的配置檔案如下
{
  "database":{
    "task":{
        "host":"st01-nsbk-201106-zf-28.st01.****.com",
        "port":3306,
        "database":"bim_statistic_strategy_db",
        "user":"*****",
        "password":"******"
    },
    "db_bim_rap_result_db":{
      "host":"st01-nsbk-201106-zf-28.st01.****.com",
        "port":3306,
        "database":"bim_rap_result_db",
        "user":"****",
        "password":"******"
        },      
    "db_bim_statistic_result_db":{
        "host":"st01-nsbk-201106-zf-28.st01.****.com",
        "port":3306,
        "database":"bim_statistic_result_db",
        "user":"****",
        "password":"******"
    }
  }
}

相關推薦

python通過配置檔案連線mysql

之前在python中連線mysql是直接在python檔案中寫的,這次把資料庫資訊放在單獨一個配置檔案中 這是linux環境下 下面列出了select update insert 語句 #!/bin/env python #-*-coding:utf-8-*- im

Java通過配置檔案連線Mysql和Oracle資料庫

配置檔案: db.properties #Mysql parameter mysqldriver=com.mysql.jdbc.Driver mysqlurl=jdbc:mysql://127.0.0.1:3306/database mysqluser=username

MySQL-載入配置檔案通過配置檔案連線資料庫

package demo5; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.S

JDBC通過配置檔案連線資料庫

一、目錄結構 二、配置檔案Server.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test user=root password=root 三、專案原始碼 imp

python通過跳板機連線MySQL

生產環境中,為了安全起見,大多數的資料庫是無法在本地直接訪問的,需要先連線跳板機,然後通過跳板機訪問。這麼做雖然在安全方面稍有保證,但是對於寫程式碼的人來說,增加了一定的難度,以下是我個人對python連線跳板機連線mysql的一些總結,希望能幫助到各位。首先,需要下載ssh

通過配置檔案連線資料庫查詢並寫入Excel

#encoding:utf-8 ''' Created on 2017年4月12日 @author: *** ''' import ConfigParser #讀入配置檔案 import MySQ

python通過配置檔案共享全域性變數

在使用Python編寫的應用的過程中,有時會遇到多個檔案之間傳遞同一個全域性變數的情況,此時通過配置檔案定義全域性變數是一個比較好的選擇。 首先配置config.py模組,config需要設定get_xxx和set_xxx的方法提供對外的介面。 config

jdbc工具類通過配置檔案連線資料庫學習理解

/*properties的配置檔案學習的理解 一、properties配置檔案的好處      1、方便維護,比如如果想更換資料庫通過properties配置檔案非常容易的。      2、程式如果修改資料庫只需修改配置檔案即可。 二、存放位置:       在src檔案

Java連線Mysql:通過配置檔案

1、匯入資料庫驅動jar包,與及編寫資料庫配置檔案(mysql.properties),mysql.properties放在專案的src目錄下[本例使用的資料庫為Mysql5.5,資料庫驅動jar包為

Spring配置檔案配置資料庫連線(mysql,sqlserver,oracle)

xml配置檔案中配置如下: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"

[課本10.1.4]JDBC資料庫連線池- C3P0資料來源--通過構造方法建立資料來源物件--通過配置檔案建立資料來源物件[推薦]

JDBC- C3P0資料來源 1 /*重點提醒*/ 2 連線資料庫的較低的jar包版本會與較高版本的mysql版本有衝突; 3 通過把mysql 8.0的版本降到5.5, jar包仍使用較高的 mysql-connector-java-5.1.7-bin.jar, 完美解決衝突.  

IDEA使用properties配置檔案進行mysql資料路連線

1. 新建一個web專案(過程不需要教了吧,所以就省略啦) 2. 右鍵點選新建的專案名,選擇建立檔案目錄(Directory),一般properties資料夾命名應為resoures; 3.右鍵點選新建的resources資料夾,彈出的窗口裡選擇Mark Dictory as >>Resourc

jdbc基礎 (二) 通過properties配置檔案連線資料庫

上一篇描述了對mysql資料庫的簡單操作,下面來看一下開發中應該如何靈活應用。 因為jdbc對資料庫的驅動載入、連接獲取、釋放資源的程式碼都是相同的,為了提高程式碼的複用性,我們可以寫一個工具類,將資料庫驅動載入、獲取連線、資源釋放的程式碼封裝起來。同時,為了提高工具類

[java][spring]取得通過配置檔案和註解注入的bean、取得當前資料庫連線、取得ApplicationContext的方法

[spring]取得通過配置檔案和註解注入的bean、取得當前資料庫連線、取得ApplicationContext的方法 1、思路: 應用程式啟動時使用ApplicationContextAware讓Spring容器傳遞自己生成的ApplicationContext給我們,

java通過配置檔案載入資料庫(以Mysql為例)

專案結構如圖示 jdbc.properties內容為: jdbc.username=root jdbc.password=root jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306

通過Navicat遠端連線MySQL配置

環境: 伺服器Ubuntu12.04+MySQL5.5 主機 Windows10 + Navicat for MySQL Ubunut下檢視MySQL版本命令:  mysql --version Ubuntu:~$ mysql --version mysql Ver 1

Python---關於配置檔案的那些事情

1、配置檔案裡存放的是:程式啟動時需要對程式進行配置的資訊。 2、寫配置檔案的目的是:將一些註冊、需要更替的路徑等資訊寫進相應的程式配置檔案裡,在程式下次啟動程式時,就會自動讀取配置檔案,對程式進行配置,這樣就不用每次都填寫註冊資訊或需要更替的路徑資訊。 3、關於配置檔案的編寫方式有如下(具

ssh隧道(通過跳板機)連線mysql

案例: A伺服器   B伺服器   C伺服器mysql 現在mysql伺服器C只能通過內網訪問,B伺服器就能通過內網連線訪問到mysql A伺服器無法直接連線C伺服器mysql,所以要通過跳板機(跳板機指的是B伺服器)連線mysql 實現: 在A伺服器下面執行

python修改配置檔案某個欄位

思路:要修改的檔案filepath 將修改後的檔案寫入f2,刪除filepath,將f2名字改為filepath,從而達到修改 imort os tag=“name=” midifyInfo=“name=lilei” f1=filepath f2=application.applicatio

python讀取配置檔案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!