【问题标题】:How can I input a fasta file and a text file together using command line argument如何使用命令行参数一起输入 fasta 文件和文本文件
【发布时间】:2020-02-29 02:49:16
【问题描述】:

我有一个 fasta 文件和一个文本文件,我想使用命令行参数来使用 python 输入我的文件。

我想使用类似的东西:

python3 myprogram.py --fasta_file test_seq.fasta --enzyme_file enzymes.fasta

【问题讨论】:

  • 你只是想读入参数(例如fasta_file="test_seq.fasta")还是真的用它们做点什么?
  • 这个问题是否以任何方式特定于fasta?或者可以将问题改写为“如何使用 python 读取命令行参数?”

标签: python command-line argparse


【解决方案1】:

您需要使用 argparse,但我强烈建议您先阅读教程 (https://docs.python.org/3/howto/argparse.html)。

您所问问题的可能解决方案如下:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--fasta_file")
parser.add_argument("--enzyme_file")

args=parser.parse_args()
with open(args.fasta_file, "r") as f:
fasta_data = f.readlines()

with open(args.enzyme_file,"r") as f:
enzyme_data=f.readlines()

【讨论】:

  • 使用with 上下文管理器而不是open/close 是惯用的。上下文管理器需要更少的代码,并且对失败更健壮。
  • 谢谢。我更正了代码。虽然焦点应该在 argparse 中。
猜你喜欢
  • 1970-01-01
  • 2020-08-28
  • 2014-10-19
  • 2012-10-22
  • 2015-07-20
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多