這個報錯 if date.today() in line:
时间: 2024-02-14 18:04:54 浏览: 197
xgboost.libpath.XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path, did you i
抱歉,我的代码有误,应该使用`datetime.datetime.today()`函数来获取当前日期和时间。同时,还需要将读取到的行转换成`datetime.datetime`对象,再与当前日期进行比较。具体的修改如下:
```python
import datetime
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:
# 只保留符合条件的行
lines = []
for line in t:
# 将读取到的行转换成datetime.datetime对象,并与当前日期进行比较
line_date = datetime.datetime.strptime(line.strip(), '%Y-%m-%d %H:%M:%S')
if line_date.date() == datetime.datetime.today().date():
lines.append(line.strip())
if lines:
# 将文件名和符合条件的行内容用逗号分隔,并写入列表
file_contents.append(file_name + ',' + ','.join(lines))
file_count += 1
# 重新写入符合条件的行
with open(file_path, 'w', encoding='gbk') as f:
f.write('\n'.join(lines))
```
这里将读取到的行转换成了`datetime.datetime`对象,然后使用`.date()`方法获取到日期部分,再与当前日期的日期部分进行比较。这样就可以找到包含今天日期的行了。
阅读全文