+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何使用python在许多文本文件中删除以“ 1”开头的行

发布于2021-01-17 17:29     阅读(222)     评论(0)     点赞(15)     收藏(1)


0

1

2

3

4

5

6

7

8

9

我的目录中至少有3700个文本文件(实际上是标签),以及相同数量的jpg / jpeg图像。在所有这些文本文件中,有数百个文本为:

1 0.19140625 0.50078125 0.3078125 0.9484375

我想从存在的每个文本文件中从1开始删除这样的行。我尝试了以下操作:

import os
import glob
import errno
path = '~/Documents/txt/*.txt'
path1 = '~/Documents/txt/'
files = glob.glob(path)
txtfile = []
temp_path = os.path.join(path1, 'temp.txt')
for name in files:
    try:
        with open(name, 'r') as f, open(temp_path) as temp:
            for line in f:
                if line.strip() == "1":
                    continue
                temp.write(line)

    except IOError as exc:
        if exc.errno != errno.EISDIR:
            raise
#print(txtfile)

解决方案


import glob
import os

path = os.path.dirname(os.path.abspath(__file__))
for name in glob.glob(path+'/*.txt'):
    raw_data = open(name, 'r')
    data_list = raw_data.read().splitlines()
    with open(name, "w") as new_file:
        for row in data_list:
            if row.startswith("1") is False:
                new_file.write(row + '\n')

0

1

2

3

4

5

6

7

8

9



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接: https://www.pythonheidong.com/blog/article/777388/2c6ed21831bd29b16c78/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

15 0
收藏该文
已收藏

评论内容:(最多支持255个字符)