我正在尝试运行(来自Spyder)一个包含以下代码的python脚本:
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Project description')
parser.add_argument(
'nbr_workers', type=int, help='Number of workers e.g. 1, 2, 4, 8')
parser.add_argument(
'--nbr_samples_in_total',
type=int,
default=1e4,
help='Number of samples in total e.g. 100000000')
parser.add_argument(
'--processes',
action="store_true",
default=True,
help='True if using Processes, absent (False) for Threads')
我知道我可以在Spyder中使用control + F6来提交命令行选项。但是,我无法使其发挥作用。
输入
生成错误
runfile('C:/Users/john/.spyder/temp.py', args='3 1000 1', wdir='C:/Users/john/.spyder')
usage: temp.py [-h] [--nbr_samples_in_total NBR_SAMPLES_IN_TOTAL]
[--processes]
nbr_workers
temp.py: error: unrecognized arguments: 1000 1
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
我在这里做错了什么? 谢谢!
答案 0 :(得分:2)
好的,我想我找到了解决方案。
runfile('//***/.spyder/temp.py', args='3 --nbr_samples_in_total 100 --processes', wdir='//***/.spyder')
OUT:命名空间(nbr_samples_in_total = 100,nbr_workers = 3,processes = True)
runfile('//***/.spyder/temp.py', args='3 --nbr_samples_in_total 100', wdir='//***/.spyder')
OUT:命名空间(nbr_samples_in_total = 100,nbr_workers = 3,processes = False)
你必须将你在评论中提到的default=False
的过程标志修改为缺席(false),这样如果你添加了标记,它将被设置为True