def check_Configuration_Information(): Dictionary = { "innobackupex_dir" : {mysql_config["innobackupex_dir"]}, "defaults-file" : {mysql_config["defaults-file"]}, "tmpdir" : {mysql_config["tmpdir"]}, } for key,path in Dictionary.items: if check_path_or_file_exists(path) == 1: print(f"错误在 {key} 参数") sys.exit(1) check_Configuration_Information() File "/root/test/4.py", line 324, in check_Configuration_Information for key,path in Dictionary.items: TypeError: 'builtin_function_or_method' object is not iterable [root@test-01 test]# /usr/local/bin/python3 /root/test/4.py Traceback (most recent call last): File "/root/test/4.py", line 331, in <module> check_Configuration_Information() File "/root/test/4.py", line 324, in check_Configuration_Information for key,path in Dictionary.items: TypeError: 'builtin_function_or_method' object is not iterable
时间: 2024-04-14 15:27:13 浏览: 156
使用mysql时候的配置信息
在你的代码中,出现了两个问题:
1. 在`Dictionary.items`的后面缺少了括号`()`,应该使用`Dictionary.items()`来获取字典的键值对。
2. 在`sys.exit(1)`后面多了一个缩进,在此处不应该有缩进。
以下是修正后的代码:
```python
import sys
import os
def check_Configuration_Information(mysql_config):
Dictionary = {
"innobackupex_dir": mysql_config["innobackupex_dir"],
"defaults-file": mysql_config["defaults-file"],
"tmpdir": mysql_config["tmpdir"],
}
for key, path in Dictionary.items():
if not check_path_or_file_exists(path):
print(f"错误在 {key} 参数")
sys.exit(1)
def check_path_or_file_exists(path):
if os.path.exists(path):
print(f"The path or file '{path}' exists.")
return True
else:
print(f"The path or file '{path}' does not exist.")
return False
# 测试函数
mysql_config = {
"innobackupex_dir": "/path/to/innobackupex",
"defaults-file": "/path/to/defaults-file",
"tmpdir": "/path/to/tmpdir"
}
check_Configuration_Information(mysql_config)
```
在这个修正后的代码中,我添加了括号`()`来调用`Dictionary.items()`方法来获取字典的键值对。同时,我还将`sys.exit(1)`的缩进调整到正确的位置。
希望这次修改能解决问题!如果还有其他问题,请随时提问。
阅读全文