python-3.x - 通过将前缀附加到文件名来重命名
问题描述
如果有人能给我一个提示,我将不胜感激。我必须通过在文件名中添加前缀(日期)来重命名一批文件,因此文件在文件夹中按顺序组织:从旧到新。日期本身包含在文件中。因此,我的脚本必须打开文件,找到日期并将其用作“前缀”以添加到文件名中。
from datetime import datetime
import re
import os
file = open('blog_entry.txt', 'r', encoding='utf-8')
source_code = file.read()
<...>
# convert the date:
date = datetime.strptime(date_only, "%d-%b-%Y")
new_date = date.strftime('%Y_%m_%d')
new_date变量应用作“前缀”,因此新文件名看起来像“yyyy_mm_dd blog_entry.txt”
我无法理解如何使用此前缀生成“新名称”,因此我可以将os.rename(old_name, new_name)
命令应用于文件。申请
解决方案
这是一种方法,使用字符串连接来构建您想要的新文件名:
from datetime import datetime
import re
import os
file = open('blog_entry.txt', 'r', encoding='utf-8')
source_code = file.read()
# read the date from the file contents
date = datetime.strptime(date_only, "%d-%b-%Y")
new_date = date.strftime('%Y_%m_%d')
path = "/path/to/your/file/"
os.rename(path + 'blog_entry.txt', path + new_date + ' ' + 'blog_entry.txt')
推荐阅读
- asp.net-core - 不显眼的 AJAX,上传文件和模态不工作 - 模态在提交时没有关闭
- php - 带有 acf 的随机图像(图库选项)
- r - 有没有办法从箱线图中提取平均值?
- tizen - 如果较长,则强制居中对齐的文本左对齐
- c# - 在 ASP.Net MVC 后台读取电子邮件
- python-3.x - 无法使用python从字符串中删除十六进制字符
- reactjs - 无法对 fetch 返回的对象进行排序
- java - 不接受软件包 Android SDK Platform 29 的许可
- c++ - 我尝试使用 typedef 定义一个动态增长的数组,它最多可以工作 79 个索引,除此之外它没有,有人可以解决这个问题吗?
- node.js - npm:重新安装所有全局包