使用Python批量修改文件名的代码实例
### 使用Python批量修改文件名的代码实例 #### 知识点概述 在计算机日常操作中,经常需要对大量文件进行重命名,特别是当文件没有合理的排序或命名规则时,手动一个个更改显然耗时且效率低下。利用Python强大的文件处理功能,可以轻松实现批量文件重命名。本文将详细解析一个具体的Python脚本示例,该脚本能够帮助用户自动地为文件添加序号,并按顺序进行重命名。 #### Python基础知识回顾 1. **os模块**:Python的标准库之一,提供了许多用于与操作系统交互的功能。其中`os.listdir()`方法用于列出指定目录下的所有文件和目录名。 2. **for循环**:用于遍历序列(如列表、元组、字符串等)中的元素。 3. **条件语句**:如`if`语句,用于根据不同的条件执行不同的代码块。 4. **字符串操作**: - `split()`:将字符串分割成列表。 - 字符串拼接:通过加号`+`连接多个字符串。 #### 示例代码详解 ```python import os def tekan(): i = 1 # 序号初始化 for old_file in os.listdir('.'): # 获取当前文件夹中所有文件名 if 'py' not in old_file: # 排除.py文件,避免重命名脚本自身 new_name = str(i) + '_' + old_file # 在原有文件名前添加序号和下划线作为分隔 os.rename(old_file, new_name) # 执行文件重命名 i += 1 # 更新序号 if __name__ == '__main__': tekan() ``` 1. **导入模块**:首先导入`os`模块,以便使用其提供的功能。 2. **定义函数**:定义了一个名为`tekan`的函数来执行文件重命名逻辑。 3. **序号初始化**:`i`变量初始化为1,用于为每个文件添加唯一的序号。 4. **遍历文件**:使用`os.listdir('.')`获取当前文件夹内所有文件的名称。这里的 `'.'` 表示当前目录。 5. **条件判断**:通过`if 'py' not in old_file:`判断,如果文件名中包含 `'py'`,则跳过该文件,以防止脚本自身被重命名。 6. **新文件名生成**:使用字符串拼接的方式创建新的文件名。例如,如果原始文件名为`'example.txt'`,则新的文件名可能为`'1_example.txt'`。 7. **文件重命名**:调用`os.rename()`方法完成实际的文件重命名过程。 8. **主程序入口**:在`if __name__ == '__main__':`下调用`tekan()`函数启动程序。 #### 运行效果分析 运行上述脚本后,可以观察到当前目录下的非`.py`文件均按照序号进行了重命名。具体效果如下: - 假设原始文件列表为:`file1.txt`, `file2.txt`, `file3.txt` - 运行脚本后,文件名变为:`1_file1.txt`, `2_file2.txt`, `3_file3.txt` 这样的重命名方式不仅方便了文件管理,还使得文件夹内的文件更加有序。 #### 总结 通过这个简单的Python脚本,我们可以高效地实现批量文件重命名的任务。这种方法特别适用于需要对大量文件进行统一管理和排序的情况。此外,通过对代码的理解和修改,还可以进一步扩展其功能,比如添加更复杂的命名规则、支持更多类型的文件等。