[英]How can I write the argument name from Python argparse to a file?
我想使用argparse将接收到的参数名称和值写入文件。 到目前为止,我有:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--infile", help = "seed file", default = 'test')
parser.add_argument("--lang", help="wiki language bigram", default = 'en')
parser.add_argument("--request_type", help="request type", default = 'sum')
parser.add_argument("--outfile", help = "path to outfile", default = 'outfile')
parser.add_argument("--summary", help = "true or false", action = "store_true")
parser.add_argument("--pagehits", help = "path to list of page hits", default = 'pagehits')
parser.add_argument("--exemplar_file", help = "file to inspire book")
args = parser.parse_args()
input_file = args.infile
print(args.infile)
print(var(args))
with open('modified-variables', 'w') as outfile:
outfile.write(args.infile)
outfile.write('hello world')
使用--infile“ / path / to / file” --lang“ en”输出为:
/path/to/file
en
[but nothing written to file]
我希望它遍历所有位置参数,并将命令行中提供的所有位置参数以以下格式写入修改后的变量
infile="/path/to/file"
lang="en"
谷歌搜索无法帮助我弄清楚如何打印argnames,并且with / write构造中存在一些简单的错误。
更新:每个答案#1添加了print(vars((args)),结果为:
{'lang': 'en', 'exemplar_file': None, 'pagehits': 'pagehits', 'summary': False, 'outfile': '/tmp/pagekicker/123/out_test', 'request_type': 'sum', 'infile': '/home/fred/pagekicker-community/scripts/seeds/revolutionary-figures'}
现在我只想写
lang =“ zh-cn” exemplar_file =“ None”
等等
到一个文件。
你有没有尝试过
print(args) # the default Namespace display format
要么
print(vars(args))
vars(args)
是一个字典,可以用多种不同的方式显示它。 您可以将其转换为元组列表( .items()
),还可以遍历keys
等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.