帮我用python代码实现以下功能:批量读取所有txt文件,每行第一个数字为2的保留,其余行都删除,如果某一个txt文件第一列没有数字2,则删除这个txt文件
时间: 2023-11-18 16:06:18 浏览: 157
好的,以下是实现功能的代码:
```python
import os
# 定义要读取的txt文件所在的文件夹路径
folder_path = './txt_files/'
# 遍历文件夹中的所有txt文件
for file_name in os.listdir(folder_path):
# 判断文件名是否以.txt结尾
if file_name.endswith('.txt'):
with open(os.path.join(folder_path, file_name), 'r', encoding='utf-8') as f:
# 读取txt文件中的所有行
lines = f.readlines()
# 判断第一列是否有数字2
if '2' not in lines[0].split()[0]:
# 如果没有,则删除文件
os.remove(os.path.join(folder_path, file_name))
else:
# 如果有,保留第一行数字为2的行,删除其他行
with open(os.path.join(folder_path, file_name), 'w', encoding='utf-8') as f:
f.write(lines[0])
for line in lines[1:]:
if line.startswith('2'):
f.write(line)
```
需要注意的是,代码中的`./txt_files/`是指txt文件所在的文件夹路径,需要根据实际情况进行修改。另外,代码中的编码方式是`utf-8`,如果实际情况中txt文件的编码方式不同,需要进行相应的修改。
阅读全文