Ich habe Argumente analysiert, die argparse
in meinen main.py
-Dateien verwenden. Ich habe ein paar Variablen in der global_vars.py
Datei definiert und diese Datei ist in main.py
und anderen Dateien enthalten.Argumente, die von argparse analysiert werden, sind in anderen Dateien nicht verfügbar
Ich ordnet geparste Argumente globalen Variablen zu, aber wenn ich versuche, auf diese globalen Variablen über andere Dateien als main.py
zuzugreifen, gibt es None
zurück. Gibt es etwas, das ich vermisse, oder ist es ein Namespace-Problem für argparse
?
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Accept arguments')
parser.add_argument('-n', help='enter period for which you want to do the sampling')
parser.add_argument('-b', help='enter directory for bhav copy')
parser.add_argument('-d', help='enter directory for deliverables')
parser.add_argument('-l', help='enter list type')
args = parser.parse_args(namespace=None)
var_dict = vars(args)
bhavcopy_dir=var_dict['b']
deli_dir=var_dict['d']
no_of_sessions=var_dict['n']
list_type=var_dict['l']
Anstatt zu versuchen, den globalen Status zu verwenden, warum rufen Sie nicht eine Einstiegspunktfunktion mit den entsprechenden Argumenten auf? Könntest du etwas mehr von dem Kontext zeigen, in dem dies ist? – jonrsharpe
Sie müssen uns auch zeigen, wie Sie versuchen, aus anderen Dateien auf diese Variablen zuzugreifen. Vielleicht werden die anderen Dateien ausgeführt, bevor das Parsen der Argumente erfolgt ist. – arghbleargh
'bhavcopy_dir = args.b' funktioniert ohne die' vars_dict' Konvertierung. (Nicht dass das deine größere Frage verändert) – hpaulj