pyhthon中的dir()函数

本文探讨了Python中的dir()函数,特别是在Django框架中如何使用。dir()函数可以用于查看当前局部作用域的属性,或获取对象的属性信息。当应用于模块、类等不同类型的对象时,它会返回不同类型的属性列表。如果对象有自定义的__getattr__()或__getattribute__(),dir()的输出可能会受到影响。返回的结果是按字母排序的列表。

最近在看python django如何加载settings.py时,遇到如下函数问题,dir(参数)函数,其中gloable_settings.py为某个包下的模块。


通过查阅资料得知dir(object)作用:

     如果没有参数,则返回当前局部作用域的属性,如果有参数,则返回相应的object的各种属性。

如果object包含__dir__()方法时,则调用__dir__()方法,并返回相应的属性。如果object实现了自定义的__getattr__或者__getattribute__()函数,则会使得dir()描述他们的属性时的行为发生改变。

     如果object没有提供__dir__()方法,dir()会最大程度的收集object的属性信息。列表结果并不是完整的,当object有自定义的__getattr__()方法时,其返回的结果可能并不准确。

     如果dir带有参数的话,会根据参数类型的不同返回不同的结果列表:

     1、如果object是一个模块,就像上面遇到的,返回的列表包括模块内各种属性的名字。

     2、如果object如果是一个类,则返回的列表包括类的属性,以及它的基类的属性

     返回的结果是列表形式,而且以字母进行排序了的列表。

>>> import struct
>>> dir()   # show the names in the module namespace
['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct)   # show the names in the struct module
['Struct', '__builtins__', '__doc__', '__file__', '__name__',
 '__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
 'unpack', 'unpack_from']
>>> class Shape(object):
        def __dir__(self):
            return ['area', 'perimeter', 'location']
>>> s = Shape()
>>> dir(s)
['area', 'perimeter', 'location']

       

        

VBA中的Dir函数用于返回与指定路径名匹配的文件、目录或文件夹的名称。它是VBA中用于文件和目录操作的重要函数之一。以下是Dir函数的一些主要特点和用法: 1. 基本语法: Dir[(pathname, [attributes])] 2. 参数说明: - pathname (可选):指定文件名的字符串表达式,可能包含目录或文件夹和驱动器。 - attributes (可选):指定文件属性的常数或数值表达式。 3. 返回值: - 如果找到匹配的项,Dir返回该名称字符串。 - 如果没有找到匹配项,Dir返回零长度字符串("")。 - 如果pathname无效或发生其他错误,Dir会引发运行时错误。 4. 常用用法: - 列出目录中的所有文件: ```vba Dim filename As String filename = Dir("C:\Users\Username\Documents\*.txt") Do While filename <> "" MsgBox filename filename = Dir() Loop ``` - 检查文件是否存在: ```vba If Dir("C:\Users\Username\Documents\example.txt") <> "" Then MsgBox "文件存在" Else MsgBox "文件不存在" End If ``` - 获取特定类型的文件: ```vba Dim file As String file = Dir("C:\Users\Username\Documents\*.xlsx") Do While file <> "" MsgBox file file = Dir() Loop ``` 5. 注意事项: - 在使用Dir函数之前,应该先设置好路径名和属性参数。 - Dir函数是非递归的,它不会搜索子目录中的文件。 - 在循环中使用Dir函数时,第二次及以后的调用应该省略参数。 Dir函数是VBA中处理文件操作的基本工具之一,对于需要处理文件或目录的VBA程序来说,掌握这个函数的使用是非常重要的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值