使用python写一个程序:配置文件set.ini,set.ini中包含两个字段,times为执行次数,module为执行内容,module中有a、b、c三个字段,判断每个module=0的类型,并执行同目录下\\scripts路径下的与module名称相同的py文件
时间: 2024-03-02 21:54:23 浏览: 19
好的,以下是代码实现:
```python
import configparser
import importlib.util
import os
# 读取配置文件
config = configparser.ConfigParser()
config.read('set.ini')
# 获取times字段的值
times = int(config.get('common', 'times'))
# 遍历times次
for i in range(times):
# 遍历module字段
for module in ['a', 'b', 'c']:
# 获取module字段的值
module_value = config.get(module, 'module')
# 判断module是否为0
if module_value == '0':
# 获取同名的py文件路径
module_path = os.path.join(os.path.dirname(__file__), 'scripts', f'{module}.py')
# 判断文件是否存在
if os.path.exists(module_path):
# 动态导入模块
module_spec = importlib.util.spec_from_file_location(module, module_path)
module = importlib.util.module_from_spec(module_spec)
module_spec.loader.exec_module(module)
else:
print(f'{module}.py文件不存在')
```
其中,`set.ini`文件的格式如下:
```
[common]
times = 3
[a]
module = 1
[b]
module = 0
[c]
module = 0
```
其中,`times`字段表示需要执行的次数,`module`字段为0表示需要执行同名的py文件,为1表示不需要执行。程序会遍历`times`次,每次遍历`a`、`b`、`c`三个模块,判断`module`字段是否为0,如果是,则会动态导入同名的py文件并执行。如果同名的py文件不存在,则会输出错误提示。