Ich möchte Argarse verwenden, um die Argumentnamen & Werte zu schreiben, die es in einer Datei empfängt. Ich habe dies so weit:Wie kann ich den Argumentnamen von Python argparse in eine Datei schreiben?
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')
mit --infile "/ path/to/file" --lang "en" ausgegeben:
/path/to/file
en
[but nothing written to file]
ich es Schleife wollen über alle Positions Parameter und alle, die schreiben, die in der Befehlszeile mit modifizierter Variablen im Format
infile="/path/to/file"
lang="en"
googeln hilft mir herauszufinden, wird nicht geliefert werden, wie die argnames zu drucken und es gibt construc etwas einfach falsch in der mit/Schreib t.
UPDATE: hinzugefügt print (Vars ((args)) pro Antwort # 1, das ergibt:
{'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'}
Jetzt will ich schreiben gerade
lang = "en" exemplar_file = "None"
usw.
in eine Datei.
Warum rufen Sie 'parse_args' zweimal an? – chepner
das ist ein Fehler, behoben –