Python 尽管已安装,但未找到模块文件I/O

Python 尽管已安装,但未找到模块文件I/O,python,libraries,Python,Libraries,我正试图从公共来源访问一些数据,但是,尽管使用pip安装了模块fileio,但仍无法使其正常工作。这是我的密码: from fileio import read import gzip odffn = 'test-data/Level1_IC59_data_Run00115150_Part00000000.odf.gz' f = gzip.open(odffn) ev = read(f) hit_dist = list() while ev : # do some analysis w

我正试图从公共来源访问一些数据,但是,尽管使用pip安装了模块fileio,但仍无法使其正常工作。这是我的密码:

from fileio import read
import gzip
odffn = 'test-data/Level1_IC59_data_Run00115150_Part00000000.odf.gz'
f = gzip.open(odffn)
ev = read(f)
hit_dist = list()

while ev :
    # do some analysis with the event
    hit_dist.append(len(ev.hits))
    # get the next event
    ev = read(f)

import pylab
pylab.hist(hit_dist,30,range=(0,1000), log=True, histtype='step')
pylab.title('IceCube Hit Distribution')
pylab.xlabel('nhit')
pylab.savefig('nhits.png')
我得到以下错误:

from fileio import read
ModuleNotFoundError: No module named 'fileio'
但是,我已经使用pip安装程序进行了检查

python -m pip install fileio

我知道模块已经安装好了。我不认为这是路径的问题,因为它与所有其他模型(即numpy)都能很好地工作,所以我不确定会出现什么问题。我提前感谢您提供的任何见解。

我在pip中查找了
fileio
,从我所看到的情况来看,这似乎不是一个合法的软件包。从pip安装时,它不会安装任何可导入的Python模块或包。它所做的一切就是在
站点包
下创建一个框架目录

我认为您应该后退一步,重新评估此代码的功能:

from fileio import read
import gzip
odffn = 'test-data/Level1_IC59_data_Run00115150_Part00000000.odf.gz'
f = gzip.open(odffn)
ev = read(f)
hit_dist = list()
这似乎很好(忽略从fileio导入),直到行:
ev=read(f)
。使用此函数读取gzip返回的文件对象的目的是什么?该对象有自己的一组读取方法,这些方法应该能够执行此任务:

import gzip
odffn = 'test-data/Level1_IC59_data_Run00115150_Part00000000.odf.gz'
f = gzip.open(odffn)
lines = f.readlines()
假设这是一个文本文件,它应该将整个内容读入一个字符串列表,每行一个。您还可以对其进行缓冲:

buf_size = 100
buf = f.read(buf_size)
while buf:
    <do something with 1-100 characters of input>
    buf = f.read(buf_size)
buf_size=100
buf=f.read(buf_大小)
而buf:
buf=f.read(buf_大小)
或缓冲整行:

line_buf = f.readline()
while line_buf:
    <do something with a line of input>
    line_buf = f.readline()
line\u buf=f.readline()
而行_buf:
行_buf=f.readline()

我在pip中查找了
fileio
,从我看到的情况来看,这似乎不是一个合法的包。从pip安装时,它不会安装任何可导入的Python模块或包。它所做的一切就是在
站点包
下创建一个框架目录

我认为您应该后退一步,重新评估此代码的功能:

from fileio import read
import gzip
odffn = 'test-data/Level1_IC59_data_Run00115150_Part00000000.odf.gz'
f = gzip.open(odffn)
ev = read(f)
hit_dist = list()
这似乎很好(忽略从fileio导入),直到行:
ev=read(f)
。使用此函数读取gzip返回的文件对象的目的是什么?该对象有自己的一组读取方法,这些方法应该能够执行此任务:

import gzip
odffn = 'test-data/Level1_IC59_data_Run00115150_Part00000000.odf.gz'
f = gzip.open(odffn)
lines = f.readlines()
假设这是一个文本文件,它应该将整个内容读入一个字符串列表,每行一个。您还可以对其进行缓冲:

buf_size = 100
buf = f.read(buf_size)
while buf:
    <do something with 1-100 characters of input>
    buf = f.read(buf_size)
buf_size=100
buf=f.read(buf_大小)
而buf:
buf=f.read(buf_大小)
或缓冲整行:

line_buf = f.readline()
while line_buf:
    <do something with a line of input>
    line_buf = f.readline()
line\u buf=f.readline()
而行_buf:
行_buf=f.readline()