PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'E:/lexin/output2\\output1.csv' -> 'E:/lexin/output2\\110.2_24.64.csv'
时间: 2024-02-22 09:57:22 浏览: 62
出现这个错误的原因是在重命名文件时,目标文件名已经存在并且被其他程序占用了,因此无法进行重命名操作。解决方法是在重命名之前先判断目标文件是否存在,如果存在就跳过,否则再进行重命名。修改后的代码如下:
```python
import os
import csv
# 设置要重命名的文件夹路径
folder_path = 'your_folder_path'
# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
# 判断是否为CSV文件
if file_name.endswith('.csv'):
# 读取CSV文件,指定第二行为数据起始行
file_path = os.path.join(folder_path, file_name)
with open(file_path, 'r') as f:
csv_reader = csv.reader(f)
header = next(csv_reader)
data = list(csv_reader)
if len(data) == 0:
continue
col_5 = header[4]
col_6 = header[5]
# 取出第二行的第5列和第6列,组合为新的文件名
new_file_name = col_5 + '_' + col_6 + '.csv'
# 构造新的文件路径并重命名文件
new_file_path = os.path.join(folder_path, new_file_name)
if os.path.exists(new_file_path):
continue
os.rename(file_path, new_file_path)
# 打印重命名结果
print(f'{file_name} -> {new_file_name}')
```
注意,在重命名时,需要使用`os.path.exists()`函数判断目标文件是否存在,如果存在就跳过,否则再进行重命名操作。
阅读全文