我有我的配置编码在这里:
@staticmethod
def getConfig(env):
pwd=os.getcwd()
if "win" in (platform.system().lower()):
f = open(pwd+"\config_"+env.lower()+"_data2.json")
else:
f = open(pwd+"/config_"+env.lower()+"_data2.json")
config = json.load(f)
f.close()
return config
@staticmethod
def isWin():
if "win" in (platform.system().lower()):
return True
else:
return False
我有2个JSON文件,我想我的脚本读取,但它的方式写上面只读取其中之一。我想知道如何改变它像:
f = open(pwd+"\config_"+env.lower()+"_data_f'{}'.json")
因此它可以读取dataset1.config或dataset2.config。我不确定这是否可行,但我希望这样做,以便可以在命令行中指定要运行的文件:python datascript.py -f dataset1.config
或python datascript.py -f dataset2.config
。是否将整个open()
调用赋给一个变量?
1条答案
按热度按时间jxct1oxe1#
您需要做的就是解析
sys.argv
以获取-f
标志的参数,然后连接字符串并将结果传递给open()
。sys.argv.index('-f')
在命令行参数中给出-f
的索引,因此参数必须是filename。如果没有给出-f
参数,try-except语句将提供默认值。