更新
我实现了一些新代码,现在遇到了一个新问题:query_dir = '/path/to/sql'
sql_commands = []
with open(inputfile, 'r') as argfile:
infiles = argfile.readlines()
for infile in infiles:
print("infile: {0}".format(infile))
try:
infile = os.path.join(query_dir, infile).replace('\n', '')
queries = [sqlfile.strip() for sqlfile in open(infile, 'r')]
except IOError as e:
print("IOError: {0}".format(e))
for query in queries:
sql_commands.append(query)
print("sql commands: {0}".format(sql_commands))
最后,当print语句给出SQL命令时,文件的内容是存在的,但其格式对我来说不适用。例如,它看起来像这样:
^{pr2}$
我想获取文件中的SQL查询,该查询位于要格式化的输入文件的一行上,命令:
cursor.execute(command)
从下面。。。在
原始问题
我尝试过不同的路径和位置(包括在输入文件中使用绝对路径),但我不确定发生了什么。我试着把所有的文件和脚本放在同一个目录中,结果却出现了同样的错误。我不知道如何在文件的每个SQL文件中解释一行SQL代码:
输入.file:query_file1.sql
query_file2.sql
query_file3.sql
我有一个Python脚本,它使用pprint和PrettyPrinter获取一个包含SQL查询的文件(其中之一),并执行查询并打印输出的漂亮版本。在
我希望能够在文件的每一行上放置一个包含SQL查询的文件名,然后用相同的Python脚本处理这个文件。在
我到那儿有困难。我可以打印文件的行,每行都是一个带有SQL查询的输入文件:. . .
with open(inputfile, 'r') as argfile:
lines = argfile.readlines()
for line in lines:
print(line)
. . .
我不知道该怎么做才能使用这个片段:. . .
for command in sql_commands:
try:
pp = pprint.PrettyPrinter(indent=4)
cursor.execute(command)
pp.pprint(cursor.fetchall())
. . .
我需要将输入文件的行转换为参数,以便可以用脚本处理它们。在