存储python脚本配置的合适方法

2024-05-28 19:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个需要在Windows中运行的python脚本命令行对于某些测试,它有三个选项可供选择

例如

config A

config B

config C

因此,用户可以通过运行xx年configA,脚本将使用config A作为选项,直到用户指定另一个config。你知道吗

由于某些原因,我的程序不使用for循环来跟踪配置的状态,因此根据我的研究,我有三个选项可供选择

  1. 删除一个A使用但bc不使用的文件,并对B和C执行类似的过程(配置A、B和C将使用不同的可执行文件来运行相同的东西)

示例代码如下:

if os.environ.get('xx'):
    path_a = os.path.join('xx','xx.dll')
    if os.path.isfile(path_a):
        os.remove(path_a)

2.另一个想法是使用本地文件来跟踪配置,方法是检查文本文件中的特定文本,并决定选择哪个可执行文件

3.第三个想法是为这个脚本创建一个注册表项并跟踪它

我的问题是我应该走哪条路,还有什么更好的方法可以达到同样的效果。你知道吗


Tags: 文件path方法命令行用户脚本config可执行文件
1条回答
网友
1楼 · 发布于 2024-05-28 19:26:46

据我所知,你的问题如下:

对于我的python脚本来说,使用指向运行期间要使用的配置设置的三个不同参数中的一个来处理运行的最佳方法是什么。你知道吗

如果是这样的话,我想你应该调查一下xml.etree文件作为在配置文件中存储和访问配置数据的选项。这样您应该只需要一个配置文件,因为您可以将具有配置设置的不同节点用作每个配置选项的子节点。你知道吗

您可以将您的配置以这种格式保存到一个文件中

<configroot>
    <configsettings1>
        <option1>foo</option1>
        <option2>bar</option2>
    </configsettings1>
    <configsettings2>
        <option1>foo</option1>
        <option2>foo</option2>

等等。您甚至可以通过向每个选项添加更多数据来对其进行更多的自定义:

<option1 disabled=True>

或者

<option2 active=1 type='foo'>

然后,根据getopt使用的参数,可以从中提取节点

import getopt
import xml.etree as et

INSERTMAINCODEHERE

if __name__ == '__main__':
    try:
        opts, args = getopt.getopt(sys.argv[1:], "f:", ["configoption="])


    except getopt.GetoptError, e:
        print "getopt.GetoptError: %s" % e
        sys.exit(1)

    for o, a in opts:
        if o in ("-f"," configoption="):
            b=et.ElementTree.parse('configfilename')
            options=b.getroot().find(a)
            for s in list(options):
                print s, s.tag, s.tail, s.attrib #ETC. ETC.

您可以看到更多关于细节的信息和一些细节here

我希望这是你问的。如果没有请让我知道更多,我会尽力帮助。你知道吗

相关问题 更多 >

    热门问题