Lad*_*lav 3 python command-line-arguments
我有很多参数要传递给我的main.py. 将它们存储在 txt 文件中更容易。所以,我想知道使用“配置”文件传递 CL 参数的最佳方法。不幸的是,Shell 脚本不是我需要的。
如果您打算使用argparse,则fromfile_prefix_chars旨在解决这个问题。
在您的启动程序中,将所有参数(每行一个)放入一个文件中。传递@file.txt给您的孩子计划。在您的子程序中,将fromfile_prefix_chars参数传递给ArgumentParser()构造函数:
parser = argparse.ArgumentParser(fromfile_prefix_chars='@')
Run Code Online (Sandbox Code Playgroud)
argparse 为您处理剩下的事情。
下面是一个例子:
from argparse import ArgumentParser
parser = ArgumentParser(fromfile_prefix_chars='@')
parser.add_argument('-f', '--foo')
parser.add_argument('--bar')
parser.add_argument('q', nargs='*')
ns = parser.parse_args()
print(ns)
Run Code Online (Sandbox Code Playgroud)
内容foo.txt:
parser = argparse.ArgumentParser(fromfile_prefix_chars='@')
Run Code Online (Sandbox Code Playgroud)
命令行和输出:
from argparse import ArgumentParser
parser = ArgumentParser(fromfile_prefix_chars='@')
parser.add_argument('-f', '--foo')
parser.add_argument('--bar')
parser.add_argument('q', nargs='*')
ns = parser.parse_args()
print(ns)
Run Code Online (Sandbox Code Playgroud)