如何在 subprocess.call 中使用整数



我正在编写一个运行qiime的程序。我需要程序识别用户在命令行上键入的数字,但我认为 subprocess.call 可能无法分辨出这些数字是整数。

到目前为止,我拥有的:

# Items to import
import subprocess
import argparse
from sys import argv
#Variables
parser=argparse.ArgumentParser()
parser.add_argument('--trim-forward', type=int, required=True)
parser.add_argument('--trim-reverse', type=int, required=True)
parser.add_argument('--truncate-forward', type=int, required=True)
parser.add_argument('--truncate-reverse', type=int, required=True)
parser.add_argument('--max-ee', type=int, required=True)
# Denoise
cmnd = ['qiime', 'dada2', 'denoise-paired', '--i-demultiplexed-seqs', 'paired-end-demux.qza', '--o-table', 'table.qza', '--o-representative-sequences', 'rep-seqs.qza', '--p-trim-left-f {}'.format(argv[2]), '--p-trim-left-r {}'.format(argv[4]), '--p-trunc-len-f {}'.format(argv[6]), '--p-trunc-len-r {}'.format(argv[8]), '--p-max-ee {}'.format(argv[10])]
print('executing {}'.format(''.join(cmnd)))
res = subprocess.call(cmnd)
print('command terminated with status', res)

运行此程序将返回错误。关于我如何告诉subprocess.call这些是整数而不是字符串的任何想法?

谢谢!

这实际上不是关于整数/字符串,而是关于使用空格解析选项。

在你拥有的所有地方

"--some-option {}".format(some_value)

将其更改为:

"--some-option={}".format(some_value)

相关内容

  • 没有找到相关文章

最新更新