所以我最近开始学习Python,现在我一直在尝试学习数组,但在导入数组库后无法使用array函数。
我尝试了四种不同的方法来使用数组函数,但都失败了。
方法1:
import array
nums = array.array('i', [])
#rest of the code
输出1:
Traceback (most recent call last):
File "array.py", line 2, in <module>
import array
File "/home/prince/Desktop/python-basics/array.py", line
4, in <module>
nums = array.array('i', [])
TypeError: 'module' object is not callable
方法2:
import array as a
nums = a.array('i', [])
#rest of the code
输出2:
Traceback (most recent call last):
File "array.py", line 2, in <module>
import array as a
File "/home/prince/Desktop/python-basics/array.py", line
4, in <module>
nums = a.array('i', [])
AttributeError: partially initialized module 'array' has
no attribute 'array' (most likely due to a circular
import)
方法3:
from array import array
nums = array('i', [])
#rest of the code
输出3:
Traceback (most recent call last):
File "array.py", line 2, in <module>
from array import array
File "/home/prince/Desktop/python-basics/array.py", line
2, in <module>
from array import array
ImportError: cannot import name 'array' from partially
initialized module 'array' (most likely due to a circular
import) (/home/prince/Desktop/python-basics/array.py)
方法4:
from array import *
nums = array('i', [])
输出4:
Traceback (most recent call last):
File "array.py", line 2, in <module>
from array import *
File "/home/prince/Desktop/python-basics/array.py", line
4, in <module>
nums = array('i', [])
NameError: name 'array' is not defined
编译后,每次都会在我的目录中自动创建另一个文件夹,其名称为:pycache
在该文件夹中有一个名为:array.cpython-38.pyc的文件,我无法打开它。我的编辑说,这是因为它要么使用二进制文本,要么使用不支持的文本。
如果有帮助的话,还有一些额外的细节:
我使用的文本编辑器:VS代码
我的操作系统:Ubuntu 20.04LTS
Python版本:3.8.5
由于文件名与导入的模块名相同,上述所有导入都失败。可以肯定的是,您不能使用与要导入的模块相同的名称。尝试将文件名array.py
重命名为其他名称,它应该可以工作。
关于pycache文件夹,它包含为python程序编译的字节码。这不应该和这个问题有任何关系。