如何格式化SQL文件:去除转义换行并实现正确缩进
解决SQL文件格式调整问题
你的问题出在直接把所有换行符\n替换为空,导致整个SQL内容变成了一行。要实现保留换行、去除多余缩进的效果,应该按行处理内容,而不是一次性删掉所有换行。
修正后的代码
with open('file.sql', 'r') as file: # 按行读取文件内容,自动处理换行符 lines = file.readlines() # 处理每一行:去除前后空白,保留有效内容 processed_lines = [line.strip() for line in lines if line.strip()] # 把处理后的行用换行符拼接起来 formatted_content = '\n'.join(processed_lines) with open('fileout.sql', 'w') as file: file.write(formatted_content)
代码说明
readlines():按行读取文件,每一行保留原始换行符,返回一个行列表。line.strip():去除每行开头和结尾的空白字符(包括多余的缩进、换行符)。if line.strip():过滤掉空行(如果原文件有空白行的话)。'\n'.join(processed_lines):把处理后的每行用换行符连接,恢复正确的换行结构。
输出效果
运行后生成的fileout.sql内容会和你期望的一致:
CREATE TABLE public.admin_settings ( id character varying(31) NOT NULL, json_value character varying, key character varying(255) );
内容的提问来源于stack exchange,提问作者utkarsh saraf
相关产品推荐
相关产品推荐

