我試圖將一個巨大的SQL文件分解成小的SQL文件,我使用python來實現這一點,但我使用的代碼不匹配,從我在google上看到它應該。Python的正則表達式的難題
下面是代碼:
import sys, re
p = [0]
f = open('/root/testsql/data.sql', 'r')
tables =["tabel1", "table2"]
contor = 0;
con = 0;
for line in f:
for table in tables:
stri = "root/testsql/" + str(con)
con = con + 1
stri2 = ".*" + table + ".*"
if re.match(stri2,line):
print table
f2 = open(stri,"w")
f2.write(line)
f2.close()
如果有人有一個想法,爲什麼re.match不工作,這將是大加讚賞。
SQL文件很長(73595線),包含線,如:
insert into table ...
insert into table
當您寫入f2時,輸出是什麼?編輯:或者是根本沒有發生? – danseery
我沒有輸出,就是這個問題。我有打印表格,如果只是爲了驗證我輸入了if但沒有輸出,所以它不會進入循環 – primero
複製您爲行和表顯示的文本,然後執行're.match'確實導致了匹配。你確定你顯示的文字是你從文件中得到的嗎? – GreenMatt