gpt4 book ai didi

python - 如何在不使用 with open 的情况下检查文件是否为空?

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:24 26 4
gpt4 key购买 nike

<分区>

我正在尝试读取目录中的文本文件。但是,在执行任何操作之前,我想确保它不是空的。如果文本文件为空,我需要再次创建该空文件(在当前目录中),如果不是,我需要对文本文件的每一行执行一些计算并创建相应的文件同名。简而言之,我需要创建与引用目录 (path_in) 一样多的文件。

所以为了检查文本文件是否为空,我想我应该先打开它。我用open打开它,它的句柄是filename_handle。我检查了它是否为空,但在这里它引发了 TypeError: argument should be string, bytes or integer, not _io.TextIOWrapper。我知道为什么会出现此错误(因为 filename_handle 是对象),但我不知道如何检查文件是否为空的其他方法。

谁能帮我解决这个问题。

这是我的代码

import numpy as np
import cv2, os
from glob import glob

path_in = 'C:\\Users\\user\\Desktop\\labels'

for filename in os.listdir(path_in):
filename_edited = []
with open(path_in + '\\' +filename) as filename_handle:

if os.stat(filename_handle).st_size == 0:
filename_edited.append(filename_handle)
else:
for line in filename_handle:
numericdata = line.split(' ')
numbers = []
for i in numericdata:
numbers.append(int(i))
c,x,y = numbers
edited = [c, y, (19-x)]
filename_edited.append(edited)
filename_edited_array = np.array(filename_edited)

with open(filename , 'wb') as f:
np.savetxt(f, filename_edited_array,fmt= '%.1i', delimiter=' ', newline='\n', header='', footer='', comments='# ')

continue

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com