如何在 subprocess.call 中使用整数
How to use integers in 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)
运行 这个程序 returns 错误。关于如何判断 subprocess.call 这些是整数而不是字符串的任何想法?
谢谢!
这不是关于 integers/strings 而是关于解析带空格的选项。
在你拥有的所有地方
"--some-option {}".format(some_value)
改为:
"--some-option={}".format(some_value)
我正在写一个运行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)
运行 这个程序 returns 错误。关于如何判断 subprocess.call 这些是整数而不是字符串的任何想法?
谢谢!
这不是关于 integers/strings 而是关于解析带空格的选项。
在你拥有的所有地方
"--some-option {}".format(some_value)
改为:
"--some-option={}".format(some_value)