我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

python代码里面有个dir()函数,那么这里面的dir函数和大家已经熟悉的dir命令和ls命令,有什么关系呢?本文的主要内容就是看看python里面的dir函数,究竟是用来做什么用的呢?是用于列出某个目录下面的所有文件么?请参考本文中的内容。

苏南大叔:python代码,如何理解dir函数?如何列出当前所有变量? - python的dir函数
python代码,如何理解dir函数?如何列出当前所有变量?(图4-1)

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文讨论dir函数是如何列出所有变量,列出所有可用操作的?本文测试环境:win10python@3.6.8

dir()列出当前环境变量

测试代码:

a = (1,)
b = [1, ]
print(__file__)
print(__name__)
print(dir())

输出内容:

c:/Users/sunan/Desktop/py/test.py
__main__
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b']

可以注意的是:dir()内部并没有传递任何内容,这个时候会返回当前已经显式或隐式定义好的变量。

苏南大叔:python代码,如何理解dir函数?如何列出当前所有变量? - dir不传参数
python代码,如何理解dir函数?如何列出当前所有变量?(图4-2)

dir(arg)列出当前变量的可用操作

测试代码:

a = (1,)
b = [1, ]
print(dir(a))

输出内容:

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

这个操作中,dir()中传递了一个变量,根据这个变量的类型,可以返回其可用的所有操作方法。代码中对tuple类型,列出了所有相关操作。

苏南大叔:python代码,如何理解dir函数?如何列出当前所有变量? - 列出参数的可操作方法
python代码,如何理解dir函数?如何列出当前所有变量?(图4-3)

listdir(path)列出当前目录下文件

python中,列出当前目录下的文件的话,使用的是OS模块下的listdir函数。测试代码如下:

import os
cwd = os.path.dirname(__file__)
list = os.listdir(cwd)
print(list)

输出如下:

['test.py', 'zip.zip', 'sunan.rtf', 'xls.xls', '新建文件夹']

苏南大叔:python代码,如何理解dir函数?如何列出当前所有变量? - listdir
python代码,如何理解dir函数?如何列出当前所有变量?(图4-4)

相关链接

综述

经过本文的描述,大家可以看到:python下的dir函数和终端中的dir命令,差别还是很大的。而且,python中的dir()也有两种不同的使用方法,返回的都是list类型。所以,该函数和大家的想象可能还是有较大的差距的。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python