python判断txt是否为空,并跳过空文件

问题:对批量txt文件做一些读写操作,一遇到为空的文件使得程序报错并终止,怎么判断一个txt文件内容是否为空,为空的话怎么跳过这些文件以继续下面的操作,并将为空的txt文件夹名称打印输出呢?
解决思路:
1、os.path.getsize() 返回文件的字节数,如果为 0,则代表空。
2、continue继续下面的操作

代码展示:`

import os
for filename_1 in os.listdir(r"G:/Deep_Code/yolov4-pytorch-master/map_out/detection-results/"): 
     print(filename_1)
     #for txt_name in filename_1.readlines():
     #txt_name  = txt_name.strip('\n')
     #print(txt_name)
     filename_1 = filename_1.strip('/n')
     #遍历detection-results里txt的路径
     detection_results_txt_path  = os.path.join('G:/Deep_Code/yolov4-pytorch-master/map_out/detection-results/', filename_1)
     #打开txt
     with open (detection_results_txt_path) as txt_1:
         #遍历txt的每一行
         #新建一个列表,将每个目标的像素面积放入到该列表当中
         if not os.path.getsize(detection_results_txt_path):
             print(filename_1, " is empty!")
             continue

增加判断的内容代码为:

if not os.path.getsize(detection_results_txt_path):
             print(filename_1, " is empty!")
             continue

之后程序成功执行完毕。

拓展:
1、将判断为空的文件夹删除,并继续

import os
 
for filename_1 in os.listdir(r"G:/Deep_Code/yolov4-pytorch-master/map_out/detection-results/"): 
     print(filename_1)
     #for txt_name in filename_1.readlines():
     #txt_name  = txt_name.strip('\n')
     #print(txt_name)
     filename_1 = filename_1.strip('/n')
     #遍历detection-results里txt的路径
     detection_results_txt_path  = os.path.join('G:/Deep_Code/yolov4-pytorch-master/map_out/detection-results/', filename_1)
     #打开txt
     with open (detection_results_txt_path) as txt_1:
         #遍历txt的每一行
         #新建一个列表,将每个目标的像素面积放入到该列表当中
         if not os.path.getsize(detection_results_txt_path):
             print(filename_1, " is empty!")
             os.remove(filename_1)
             continue

2、判断文件是否存在
os.path.exists() 方法用于检验文件 / 文件夹是否存在。

import os
path = "/home/wzh/predict_dir"
file = "/home/wzh/predict_file"
 
if not os.path.exists(path):
    os.path.makedirs(path)
 
if not os.path.exists(file):
    pass

3、先判断文件是否存在,如果存在则判断是否为空:

# 文件是否存在,以及是否为空
file = "/home/wzh/predict_file.txt"
if os.path.exists(file):
    print(file, " is exists!")
    sz = os.path.getsize(file)
    if not sz:
        print(file, " is empty!")
    else:
        print(file, " is not empty, size is ", sz)
else:
    print(file, " is not exists!")

参考博客链接:https://blog.csdn.net/sinat_26811377/article/details/107368659

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的渔WZH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值