用python新建一个文件夹,创建至少3个文本文档,随意命名文件。再批量重命名文件 重命名要求: 新的命名使用“文件创建时间年-月-日 序号”的方式命名,如“2024-01-01 1.txt”“2024-01-01 2.txt”
时间: 2024-10-01 19:05:39 浏览: 34
在Python中,你可以使用`os`模块来操作文件和目录,以及`datetime`模块获取当前日期。首先,我会教你如何新建文件夹、创建文本文档并重命名它们。假设你现在正在当前工作目录下操作。
1. **新建文件夹和文本文档**:
```python
import os
import datetime
# 创建文件夹
folder_name = "my_folder"
if not os.path.exists(folder_name):
os.mkdir(folder_name)
# 创建文本文档,例如创建3个
for i in range(3):
file_name = f"file_{i + 1}.txt"
with open(os.path.join(folder_name, file_name), 'w'):
pass # 这里只是一个占位符,实际内容可以替换为你需要的文本
print(f"{folder_name} 文件夹已创建,并包含了3个文本文档。")
```
2. **批量重命名文件**:
```python
# 获取当前时间
now = datetime.datetime.now()
# 遍历文件夹内的所有txt文件
for filename in os.listdir(folder_name):
if filename.endswith(".txt"):
# 使用正则表达式匹配原有命名规则,提取序号部分
match = re.match(r'^(\d{4}-\d{2}-\d{2})_(\d+)\.txt$', filename)
if match:
old_date, old_num = match.groups()
new_filename = f"{now.strftime('%Y-%m-%d')}_{old_num+1}.txt" # 加1是因为序号从1开始
# 重命名文件
src_path = os.path.join(folder_name, filename)
dst_path = os.path.join(folder_name, new_filename)
os.rename(src_path, dst_path)
print(f"已将'{filename}'重命名为'{new_filename}'.")
print("所有文件按照新命名规则进行了重命名。")
```
在这个例子中,我没有导入`re`模块,因为这里仅作示例,实际应用中你需要先安装`re`库(如果还没有安装的话)。如果你使用这个脚本,记得先安装`re`:
```bash
pip install re
```
阅读全文