gpt4 book ai didi

python - 可选参数 Python?

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:24 25 4
gpt4 key购买 nike

我需要创建一个名为 extractGenes.py 的程序

命令行参数需要带2个或3个参数:

  1. -s是一个可选参数,或者开关,表示用户想要拼接的基因序列(去除内含子)。用户不必提供这个(意味着他想要整个基因序列),但如果他确实提供了它,那么它必须是第一个参数

  2. 输入文件(带有基因)

  3. 输出文件(程序将创建用于存储 fasta 文件的位置

该文件包含这样的行:

NM_001003443 chr11 + 5925152 592608098 2 5925152,5925652, 5925404,5926898,

但是,我不确定如何将 -s 可选参数包含到起始函数中。

所以我开始:

getGenes(-s, input, output):
fp = open(input, 'r')
wp = open(output, "w")

但不确定如何包含 -s

最佳答案

这个案例很简单,可以使用sys.argv直接:

import sys

spliced = False
if '-s' in sys.argv:
spliced = True
sys.argv.remove('-s')
infile, outfile = sys.argv[1:]

或者,您也可以使用更强大的工具,如 argparseoptparse生成命令行解析器:

import argparse

parser = argparse.ArgumentParser(description='Tool for extracting genes')
parser.add_argument('infile', help='source file with the genes')
parser.add_argument('outfile', help='outfile file in a FASTA format')
parser.add_argument('-s', '--spliced', action='store_true', help='remove introns')

if __name__ == '__main__':
result = parser.parse_args('-s myin myout'.split())
print vars(result)

关于python - 可选参数 Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com