Argparse:设置默认文本文件
Argparse: set default text file
我希望将文本文件 rand.letter.txt
设置为该 argparse 段中的默认 word 文件,以便在程序中使用和读取。我认为这应该位于下方的第 4-5 行。我应该怎么做?
如您所见,我已经对矩阵大小进行了处理。但是对于具有 str 特征的文件,我很挣扎。
def main():
print("WELCOME TO THE MEMORY PUZZLE!")
parser = argparse.ArgumentParser(description="Memory game")
parser.add_argument("words_file", metavar="FILE", nargs=1,
help="Words file")
parser.add_argument(
"--matrix-size",
metavar="SIZE",
dest="matrix_size",
help="Matrix size",
default=6,
type=int,
)
args = parser.parse_args()
game = Game(args.words_file[0], args.matrix_size)
game.play()
非常感谢您的帮助或意见!
如果您需要默认位置参数,您需要将 nargs
指定为 ?
。如果可用,这将从命令行使用一个参数,否则将使用默认值。
parser.add_argument(
"words_file", nargs="?", default="rand.letter.txt", help="Words file"
)
此外,当您初始化 game
时,您正在从 words_file
变量中切出第一个字符。您需要将其更改为:
game = Game(args.words_file, args.matrix_size)
注意 [0]
不见了。
如果要为位置设置默认值,则必须指定 nargs="?"
Source。 nargs=1
在你的例子中似乎是多余的,因为它只产生一个项目的列表。所以你的行应该是这样的:
parser.add_argument("words_file", metavar="FILE", nargs="?",
default="rand.letter.txt", help="Words file")
我希望将文本文件 rand.letter.txt
设置为该 argparse 段中的默认 word 文件,以便在程序中使用和读取。我认为这应该位于下方的第 4-5 行。我应该怎么做?
如您所见,我已经对矩阵大小进行了处理。但是对于具有 str 特征的文件,我很挣扎。
def main():
print("WELCOME TO THE MEMORY PUZZLE!")
parser = argparse.ArgumentParser(description="Memory game")
parser.add_argument("words_file", metavar="FILE", nargs=1,
help="Words file")
parser.add_argument(
"--matrix-size",
metavar="SIZE",
dest="matrix_size",
help="Matrix size",
default=6,
type=int,
)
args = parser.parse_args()
game = Game(args.words_file[0], args.matrix_size)
game.play()
非常感谢您的帮助或意见!
如果您需要默认位置参数,您需要将 nargs
指定为 ?
。如果可用,这将从命令行使用一个参数,否则将使用默认值。
parser.add_argument(
"words_file", nargs="?", default="rand.letter.txt", help="Words file"
)
此外,当您初始化 game
时,您正在从 words_file
变量中切出第一个字符。您需要将其更改为:
game = Game(args.words_file, args.matrix_size)
注意 [0]
不见了。
如果要为位置设置默认值,则必须指定 nargs="?"
Source。 nargs=1
在你的例子中似乎是多余的,因为它只产生一个项目的列表。所以你的行应该是这样的:
parser.add_argument("words_file", metavar="FILE", nargs="?",
default="rand.letter.txt", help="Words file")