pychram 读取配置文件中的内容,比对指定文件夹下的文件夹和文件名称替换英文和中文字符
时间: 2023-11-28 19:50:14 浏览: 68
读取文件夹中所有文件中的内容
可以使用 Python 内置的 ConfigParser 模块来读取配置文件中的内容,使用 os 模块来获取指定文件夹下的文件夹和文件名称,使用 re 模块来替换字符串中的英文和中文字符。
以下是示例代码:
```python
import configparser
import os
import re
# 读取配置文件中的内容
config = configparser.ConfigParser()
config.read('config.ini')
src_folder = config.get('path', 'src_folder') # 源文件夹路径
dst_folder = config.get('path', 'dst_folder') # 目标文件夹路径
mapping_file = config.get('mapping', 'file') # 映射文件路径
# 读取映射文件中的内容
mapping = {}
with open(mapping_file, 'r', encoding='utf-8') as f:
for line in f:
line = line.strip()
if line:
key, value = line.split('=')
mapping[key] = value
# 遍历指定文件夹下的文件夹和文件名称,替换英文和中文字符
for root, dirs, files in os.walk(src_folder):
for dir_name in dirs:
new_dir_name = dir_name
for key, value in mapping.items():
new_dir_name = re.sub(key, value, new_dir_name)
src_path = os.path.join(root, dir_name)
dst_path = os.path.join(dst_folder, new_dir_name)
os.rename(src_path, dst_path)
for file_name in files:
new_file_name = file_name
for key, value in mapping.items():
new_file_name = re.sub(key, value, new_file_name)
src_path = os.path.join(root, file_name)
dst_path = os.path.join(dst_folder, new_file_name)
os.rename(src_path, dst_path)
```
其中,config.ini 是配置文件,内容如下:
```ini
[path]
src_folder = /path/to/source/folder
dst_folder = /path/to/destination/folder
[mapping]
file = /path/to/mapping/file
```
mapping.txt 是映射文件,内容如下:
```
test=测试
```
以上代码中,首先读取配置文件中的源文件夹路径、目标文件夹路径和映射文件路径,然后读取映射文件中的内容,存储到字典 mapping 中。接着使用 os.walk 遍历指定文件夹下的文件夹和文件,对每个文件夹和文件名称进行替换操作,最后使用 os.rename 函数重命名文件夹和文件。
阅读全文