写一段python程序:遍历G:\drought\data\data1\20232300下的txt文件,txt中每个数据之间是用空格隔开的,读取每个文件第三行的第一个数据,如果该数字大于1960,就删除该txt文件。
时间: 2024-09-10 08:03:52 浏览: 40
以下是一段Python程序,用于遍历指定路径下所有的txt文件,读取每个文件的第三行第一个数据,并判断其值是否大于1960,如果是,则删除该文件:
```python
import os
# 指定目录路径
directory = r'G:\drought\data\data1\20232300'
# 遍历目录下的所有文件
for filename in os.listdir(directory):
# 检查文件扩展名是否为txt
if filename.endswith('.txt'):
# 构建完整的文件路径
filepath = os.path.join(directory, filename)
# 打开文件并读取数据
with open(filepath, 'r') as file:
lines = file.readlines()
# 检查文件是否有至少三行
if len(lines) >= 3:
# 分割第三行数据,获取第一个数据
first_data = lines[2].strip().split(' ')[0]
# 检查第一个数据是否为数字并且大于1960
if first_data.isdigit() and int(first_data) > 1960:
# 删除文件
os.remove(filepath)
print(f"已删除文件: {filename}")
else:
print(f"文件保留: {filename}")
```
这段代码首先导入了`os`模块,然后定义了要遍历的目录路径。接着,使用`os.listdir`函数获取该目录下的所有文件名,通过`endswith`方法筛选出扩展名为`.txt`的文件。对于每个`.txt`文件,程序将其完整路径打开,并读取内容到`lines`列表中。之后,程序检查文件是否有至少三行内容,如果有,则进一步检查第三行的第一个数据。如果这个数据大于1960,则调用`os.remove`函数删除该文件,并打印出已删除文件的信息;如果不符合条件,则打印出文件保留的信息。
阅读全文