python写入SQL文件

python写入SQL文件,python,sql,python-3.x,Python,Sql,Python 3.x,您好,我正在使用python 3.4 我正在尝试读取SQL文件(test2.SQL) 并将每一行写入另一个文件(test1.sql),替换所有出现的字符串 我下面的代码在写入.txt-文件时运行良好,但在尝试写入.sql-文件时,每行都会出现奇怪的汉字 import fileinput import sys g = open('test1.sql', mode='w') with fileinput.input(files=("test2.sql")) as f: for line i

您好,我正在使用python 3.4

我正在尝试读取SQL文件(
test2.SQL
) 并将每一行写入另一个文件(
test1.sql
),替换所有出现的字符串

我下面的代码在写入
.txt
-文件时运行良好,但在尝试写入
.sql
-文件时,每行都会出现奇怪的汉字

import fileinput
import sys

g = open('test1.sql', mode='w')
with fileinput.input(files=("test2.sql")) as f:
    for line in f:
        g.write(line.replace("database1","database2"))

不能像处理纯文本文件一样有意义地处理数据库中的字符串

您需要使用数据库本机访问方法来确保数据库中的元数据是一致的。否则,几乎肯定会损坏数据库结构


我有点惊讶这居然奏效了。下一次数据库修改(创建、删除、更新、删除)可能会彻底损坏数据库。

您在哪里看到这些奇怪的字符?你打开的是同一个文件,只是写了一个不同的文件吗?在新文件(test.1)中,我希望有一行新的字符਍ഀ *抱歉读写文件混淆我不是在向数据库写入,我只想在使用NotePad查看sql文件时替换sql文件中的字符串,而不使用奇怪的字符作为行尾。如果“sql文件”是指“纯文本文件中的sql命令”,那么奇怪的字符可能是编码问题。请参阅以了解令人烦恼的复杂细节。也会有帮助。我不知道Notepad.exe是否允许您选择编码,但(free)允许。