我需要一个可以通过命令行输入的脚本。输入将是文件名,如果没有提供输入,它将采用默认输入。该脚本还将检查文件是否存在。
脚本名称为: wrapper.py
输入示例:
python wrapper.py -config abc.txt
我的尝试:
import argparse
commandLineArgumentParser = argparse.ArgumentParser()
commandLineArgumentParser.add_argument("-config", "--configfile", help="first Name")
config = commandLineArguments.configfile
答案 0 :(得分:0)
您应该将代码加载到函数中。然后你应该将文件名传递给它并返回所有配置数据。
所以,从:
开始def read_configuration_from_file(filename):
config_parser = ConfigParser.ConfigParser()
config_parser.read(filename)
从config_parser读取信息后,您必须弄清楚如何返回配置。有很多选择。您可以返回字典,也可以创建自己的包含配置的对象。
选项1(字典):
return {'first_name': first_name, 'last_name': last_name}
选项2(配置数据类):
class ConfigurationData(object):
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
然后你只是return ConfigurationData(first_name=first_name, last_name=last_name)
。
您也可以合并它并将读取函数作为该类的一部分:
class ConfigurationData(object):
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
@staticmethod
def read_configuration_from_file(filename):
config_parser = ConfigParser.ConfigParser()
config_parser.read(filename)
...
return ConfigurationData(first_name=first_name, last_name=last_name)