本文目录导读:

格式化的方法取决于具体需求和文件类型,下面介绍几种常见的脚本实现方式:
JSON 格式化
Python 脚本
import json
def format_json(input_file, output_file):
with open(input_file, 'r') as f:
data = json.load(f)
with open(output_file, 'w') as f:
json.dump(data, f, indent=2, ensure_ascii=False)
# 使用示例
format_json('input.json', 'output.json')
Shell 脚本 (使用 jq)
#!/bin/bash # 需要安装 jq: apt install jq 或 brew install jq cat input.json | jq . > output.json # 或直接修改原文件 jq . input.json > tmp.json && mv tmp.json input.json
XML 格式化
Python 脚本
import xml.dom.minidom
def format_xml(input_file, output_file):
with open(input_file, 'r') as f:
xml_content = f.read()
dom = xml.dom.minidom.parseString(xml_content)
pretty_xml = dom.toprettyxml(indent=' ')
with open(output_file, 'w') as f:
f.write(pretty_xml)
# 使用示例
format_xml('input.xml', 'output.xml')
代码格式化 (Python)
使用 autopep8
import autopep8
def format_python(input_file, output_file):
with open(input_file, 'r') as f:
code = f.read()
formatted_code = autopep8.fix_code(code)
with open(output_file, 'w') as f:
f.write(formatted_code)
# 使用示例
format_python('script.py', 'formatted_script.py')
文本通用格式化
Python 脚本 - 去除多余空格和空行
def format_text(input_file, output_file):
with open(input_file, 'r') as f:
lines = f.readlines()
# 去除每行首尾空格,删除空行
formatted_lines = [line.strip() for line in lines if line.strip()]
with open(output_file, 'w') as f:
f.write('\n'.join(formatted_lines))
# 使用示例
format_text('input.txt', 'output.txt')
CSV 格式化
Python 脚本
import csv
def format_csv(input_file, output_file):
with open(input_file, 'r') as f:
reader = csv.reader(f)
data = list(reader)
# 去除空行和空格
cleaned_data = [[cell.strip() for cell in row] for row in data if any(cell.strip() for cell in row)]
with open(output_file, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(cleaned_data)
# 使用示例
format_csv('input.csv', 'output.csv')
完整的命令行格式化工具
Python 脚本 - 支持多种格式
#!/usr/bin/env python3
import argparse
import sys
def format_file(input_file, output_file, format_type):
format_functions = {
'json': format_json,
'xml': format_xml,
'text': format_text,
'csv': format_csv
}
if format_type in format_functions:
format_functions[format_type](input_file, output_file)
else:
print(f"不支持的文件格式: {format_type}")
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='文件格式化工具')
parser.add_argument('input', help='输入文件路径')
parser.add_argument('-o', '--output', help='输出文件路径')
parser.add_argument('-f', '--format', choices=['json', 'xml', 'text', 'csv'],
default='text', help='文件格式')
args = parser.parse_args()
format_file(args.input, args.output or args.input, args.format)
Shell 脚本 - 使用已安装的工具
#!/bin/bash
format_file() {
local file=$1
local ext="${file##*.}"
case $ext in
json)
jq . "$file" > temp.json && mv temp.json "$file"
;;
xml)
xmllint --format "$file" > temp.xml && mv temp.xml "$file"
;;
py)
autopep8 --in-place "$file"
;;
*)
echo "不支持的文件格式: $ext"
return 1
;;
esac
}
# 使用示例
format_file "example.json"
使用建议
- 选择正确工具:根据文件类型选择合适的格式化方法
- 备份原文件:格式化前建议备份,防止意外数据丢失
- 批量处理:可使用
glob模块或find命令处理多个文件 - 错误处理:添加异常处理,防止格式化失败
需要根据具体需求选择合适的方式,如果需要处理特定格式,请提供更多细节,我可以给出更针对性的方案。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播