pychram 读取配置文件中的内容,比对指定文件夹下的文件夹和文件名称替换英文和中文字符
时间: 2023-11-28 07:50:24 浏览: 32
可以使用 Python 内置的 configparser 模块来读取配置文件,使用 os 模块来获取指定文件夹下的文件和文件夹,使用 re 模块来进行字符串匹配和替换。
以下是一个示例代码,假设配置文件为 config.ini,格式为:
```
[replace]
english = a,b,c
chinese = 中,文,字
```
代码如下:
```python
import configparser
import os
import re
# 读取配置文件
config = configparser.ConfigParser()
config.read('config.ini')
# 获取需要替换的英文字符和中文字符
english_list = config.get('replace', 'english').split(',')
chinese_list = config.get('replace', 'chinese').split(',')
# 构造替换字典
replace_dict = {}
for i in range(len(english_list)):
replace_dict[english_list[i]] = chinese_list[i]
# 遍历指定文件夹下的文件和文件夹,对名称进行替换
folder_path = '/path/to/folder' # 指定文件夹路径
for root, dirs, files in os.walk(folder_path):
for name in files + dirs:
new_name = name
for key, value in replace_dict.items():
new_name = re.sub(key, value, new_name)
if new_name != name:
os.rename(os.path.join(root, name), os.path.join(root, new_name))
print(f'{name} -> {new_name}')
```
代码中使用了 os.walk() 方法来遍历文件夹下的所有文件和子文件夹,使用 re.sub() 方法来进行字符串替换。如果需要替换多个字符,可以在配置文件中使用逗号分隔,并在代码中使用 split() 方法来获取列表。最后使用 os.rename() 方法来重命名文件和文件夹。