請你幫我修改,我需要增加一個條件,如果某一行只要有一個日期不是今天的日期就將其行刪除掉 file_contents = [] file_count = 0 for file_name in os.listdir(src_folder): if file_name.endswith('.txt'): file_count += 1 file_path = os.path.join(src_folder, file_name) if date.fromtimestamp(os.path.getmtime(file_path)) == today: with open(file_path, 'r', encoding='gbk') as t: # 只保留最后一行 last_line = None for line in t: last_line = line.strip() if last_line: # 将文件名和最后一行内容用逗号分隔,并写入列表 file_contents.append(file_name + ',' + last_line)
时间: 2024-02-10 11:05:35 浏览: 116
你需要增加一个条件来删除某些行,可以通过在循环内部添加一个判断语句来实现。具体的修改如下:
```python
file_contents = []
file_count = 0
for file_name in os.listdir(src_folder):
if file_name.endswith('.txt'):
file_path = os.path.join(src_folder, file_name)
with open(file_path, 'r', encoding='gbk') as t:
# 只保留最后一行
last_line = None
for line in t:
if date.today() not in line:
break
last_line = line.strip()
if last_line:
# 将文件名和最后一行内容用逗号分隔,并写入列表
file_contents.append(file_name + ',' + last_line)
file_count += 1
# 删除不符合条件的文件
if date.fromtimestamp(os.path.getmtime(file_path)) != today:
os.remove(file_path)
```
在读取每个文件的最后一行时,加入了一个判断语句来检查该行是否包含今天的日期。如果不包含,则直接跳出循环,不再读取该文件的内容。同时,如果某个文件的日期不是今天,则通过`os.remove()`函数将该文件删除。
阅读全文