我可以在我的Linux电脑上哪里找到io.py文件?

0 投票
1 回答
537 浏览
提问于 2025-04-18 06:20

我在尝试用Python创建一个类,基于'RawIOBase',代码如下。

try:
    import io
except ImportError:
    class Serial(PosixSerial, FileLike):
    pass
else:
    class Serial(PosixSerial, io.RawIOBase):
    pass

我想在Python 2.6上运行这个代码,但出现了错误:

AttributeError: 'module' object has no attribute 'RawIOBase'

我发现这个错误的原因是有一个名为'io'的目录存在,并且这个目录里有一个'init.py'文件。所以当我用print(io)打印时,它显示的是

<module 'io' from '/projects/phx/tools/io/__init__.pyc'>.

我发现

<module 'io' from '/usr/lib/python2.6/io.pyc'>

应该是这个路径。但是在/usr/lib/python2.6这个路径下并没有io.py文件。因此,尽管我把PYTHONPATH设置为/usr/lib/python2.6,但当我导入io时,它还是引用了本地的那个,而不是标准的io模块。

你能告诉我在哪里可以找到io.py文件,这样我的程序就能正常工作了吗?

1 个回答

1

试试这个,看看你现在在用什么:

import io
print io.__file__
# /usr/lib/python2.7/io.pyc

.py 文件应该和你当前的工作目录在同一个地方

你也可以在命令行中使用 locate 来找到所有的 io.py 版本:

/usr/lib/python2.7/io.py
/usr/lib/python2.7/io.pyc
/usr/lib/python2.7/dist-packages/IPython/utils/io.py
/usr/lib/python2.7/dist-packages/IPython/utils/io.pyc
# etc...

记住,这可能取决于你是怎么运行 Python 的,比如使用不同的 Python 版本,或者 - 比如说 - IPython,可能会得到不同的结果。

撰写回答