改写sql的python脚本
# encoding: utf-8 import datetime num = 10000 #数据库中已有的数据量,实时更新 today = datetime.now().strftime("%Y%m%d") filename = 'stock_dynamicinfor'+today+'.sql' #数据库备份的最新文件,当天更新数据 with open('D:/XGO/database_backup/%s' % filename, 'r') as f: text = f.readlines()[46:] with open('D:/XGO/database_backup/update/sql_statement','w') as f: for ele in text: ele = ele.split('(') ele[1]=ele[1].split(',') ele[1][0] = str(int(ele[1][0][1:-1])+num) ele[1][0] = '\''+ele[1][0]+'\'' ele[1][1] = ','.join(ele[1][1:]) ele[1] = ','.join([ele[1][0],ele[1][1]]) ele = '('.join([ele[0],ele[1]]) f.writelines(ele)
因为python字符串的是不可变的,所以使用python字符串的split方法和join方法进行操作更改sql语句。除此之外python字符串操作有很多方法,慢慢熟悉。
关于python文件操作的打开文件的模式。通常文件使用模式为'r','w'或是'a',分别代表读取、写入和追加。还有‘U’模式,代表通用换行符支持。其中'+'代表可读可写,'b'代表二进制模式访问。
使用‘r’或‘U’模式必须是文件已经存在。使用'w'模式打开的文件若存在则先情况,然后重新创建,以‘a’模式打开的文件,则将全部写入的数据追加到文件的末尾。
文件对象访问模式:
r : 以读方式打开
rU或Ua : 以读方式打开,同时提供通用换行符支持
w : 以写方式打开
a : 以追加模式打开
r+,w+,a+ : 以读写模式打开
rb : 以二进制读模式打开
wb : 以二进制写模式打开
ab : 以二进制追加模式打开
rb+ : 以二进制读写模式打开
wb+ : 以二进制读写模式打开
ab+ :以二进制读写模式打开