在由PyCharm启动的Python控制台中,runfile
似乎是一个导入函数:
In[21]: runfile
Out[21]: <function _pydev_bundle.pydev_umd.runfile(filename, args=None, wdir=None, is_module=False, global_vars=None)>
由于它是本地范围内的名称,因此不应该在dir()
的输出中列出它吗?
In[22]: print(dir())
['In', 'Out', '_', '_12', '_13', '_14', '_15', '_16', '_17', '_18', '_19', '_21', '_3', '_5', '_6', '_7', '_8', '__', '___', '__builtin__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_dh', '_i', '_i1', '_i10', '_i11', '_i12', '_i13', '_i14', '_i15', '_i16', '_i17', '_i18', '_i19', '_i2', '_i20', '_i21', '_i22', '_i3', '_i4', '_i5', '_i6', '_i7', '_i8', '_i9', '_ih', '_ii', '_iii', '_oh', 'a', 'absolute', 'exit', 'get_ipython', 'numpy', 'quit', 'sys']
答案 0 :(得分:2)
好问题。因为runfile
是内置的,就像dir()
本身一样。
如果不带参数的dir()
可以列出所有可用的调用,它也应该列出自己的内容...
Python shell不仅会在本地范围内搜索名称,还会在内置模块中搜索名称。
您可以在dir
中找到runfile
和dir(__builtin__)
。