python提取文件名日期的代码
时间: 2023-10-12 13:12:29 浏览: 177
以下是Python提取文件名日期的代码示例:
```python
import os
import re
filename = "example_2022-01-01.txt" # 假设文件名为example_2022-01-01.txt
date_regex = re.compile(r'\d{4}-\d{2}-\d{2}') # 定义日期正则表达式
match = date_regex.search(filename) # 在文件名中搜索日期
if match:
date_str = match.group() # 获取日期字符串
date = datetime.datetime.strptime(date_str, '%Y-%m-%d') # 将日期字符串转换为datetime对象
print(date) # 打印提取的日期
else:
print("日期不存在")
```
代码中使用正则表达式搜索文件名中的日期,然后将日期字符串转换为datetime对象。如果文件名中没有日期,则输出“日期不存在”。请注意,代码中的datetime模块需要导入。
相关问题
python提取文件名’报表文件20230102.xlsx’中的日期
可以使用正则表达式来提取文件名中的日期。具体做法如下:
```python
import re
filename = '报表文件20230102.xlsx'
match = re.search(r'\d{8}', filename)
if match:
date = match.group()
print(date)
else:
print('未找到日期')
```
解释一下上面的代码:
1. `re.search()` 函数在字符串中查找匹配正则表达式的第一个位置,并返回一个匹配对象。
2. 正则表达式 `\d{8}` 表示匹配 8 个数字。
3. `match.group()` 方法返回匹配到的字符串。
运行上面的代码,输出结果为:
```
20230102
```
python找两组文件名日期相同代码
可以使用Python中的os模块和re模块来实现。具体步骤如下:
1. 使用os模块的listdir方法获取指定文件夹下所有文件的文件名列表。
2. 使用re模块的正则表达式提取文件名中的日期信息。
3. 将文件名和日期信息存储到字典中。
4. 遍历字典,找到日期信息相同的文件名。
以下是示例代码:
```python
import os
import re
folder_path = 'your_folder_path'
# 获取文件名列表
files = os.listdir(folder_path)
# 正则表达式匹配日期信息
date_pattern = r'\d{4}-\d{2}-\d{2}'
file_dict = {}
for file_name in files:
match = re.search(date_pattern, file_name)
if match:
date_str = match.group()
if date_str in file_dict:
file_dict[date_str].append(file_name)
else:
file_dict[date_str] = [file_name]
# 输出日期相同的文件名
for date_str, file_list in file_dict.items():
if len(file_list) > 1:
print(f'日期为{date_str}的文件名列表:{file_list}')
```
注意:需要将`your_folder_path`替换成实际的文件夹路径。另外,上述代码中假设文件名中的日期信息格式为YYYY-MM-DD。如果实际情况不同,需要根据实际情况修改正则表达式。
阅读全文