14

我的代码使用以下命令遍历许多文件,将它们读入列表:

data = np.loadtxt(myfile, unpack=True)

其中一些文件是空的(我无法控制),当发生这种情况时,我会在屏幕上打印此警告:

/usr/local/lib/python2.7/dist-packages/numpy/lib/npyio.py:795: UserWarning: loadtxt: Empty input file: "/path_to_file/file.dat"
  warnings.warn('loadtxt: Empty input file: "%s"' % fname)

如何防止显示此警告?

4

2 回答 2

16

您必须用 换行catch_warnings,然后调用该simplefilter方法来抑制这些警告。例如:

import warnings

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    data = np.loadtxt(myfile, unpack=True)

应该这样做。

于 2013-10-03T19:44:15.783 回答
1

一种明显的可能性是预先检查文件:

if os.fstat(myfile.fileno()).st_size:
    data = np.loadtxt(myfile, unpack=True)
else:
    # whatever you want to do for empty files
于 2013-10-03T19:41:21.007 回答