Python读取文件时如何验证格式是否符合预期?以FASTA文件为例
脚本实现:FASTA文件校验与错误提示
核心逻辑说明
脚本先检查指定目录是否存在,遍历目录内文件后调用子进程校验FASTA格式,一旦发现无效文件,立即输出明确错误信息并退出。
示例代码(Python)
import os import subprocess # 指定用户存放FASTA文件的目录 TARGET_DIR = "./fasta_files" def main(): # 检查目标目录是否存在 if not os.path.isdir(TARGET_DIR): print(f"错误:指定目录 {TARGET_DIR} 不存在,请先创建该目录再运行脚本。") exit(1) # 遍历目录中的所有文件 for filename in os.listdir(TARGET_DIR): file_path = os.path.join(TARGET_DIR, filename) # 跳过子目录,只处理文件 if not os.path.isfile(file_path): continue # 调用子进程执行FASTA格式校验(替换为你实际使用的校验命令) try: subprocess.run( ["fasta-validator", file_path], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True ) print(f"文件 {filename} 格式校验通过。") except subprocess.CalledProcessError as e: # 子进程执行失败时,输出详细错误信息 print(f"错误:文件 {filename} 不是有效的FASTA格式,子进程执行失败。") print(f"子进程错误详情:{e.stderr.strip()}") print("脚本将退出,请修正文件后重新运行。") exit(1) print("所有文件格式校验通过,继续执行后续操作。") if __name__ == "__main__": main()
关键细节调整
- 替换
["fasta-validator", file_path]为你实际使用的FASTA校验命令,比如自定义校验脚本或第三方工具命令 - 若需要批量处理而非遇到错误立即退出,可移除
exit(1),改为收集错误文件后统一提示
内容的提问来源于stack exchange,提问作者Chaoran
相关产品推荐
相关产品推荐

