下面是代码,我希望在聚合时执行它,以便在运行时获得变量值:
attribute/default.rb
default['dir_list'] = []
食谱/Defailt.rb
node['dir_list'].each do |dir|
directory dir.to_s do
group 'root'
owner 'root'
mode '755'
recursive true
action :create
end
end
recipes/list_dir.r
可能重复:
class Base():
def __init__(self, conf):
self.__conf__ = conf
for i in self.__dict__:
print i,"dict"
for i in dir(self):
print i,"dir"
class Test(Base):
a = 1
b = 2
t = Test("conf")
产出如下:
__conf__ dic
我想知道文档对于dir()内置函数是否错误。特别是,哪些对象属性可能不是dir()返回的列表的一部分?
对于类对象和其他对象,文档都说列表包含“它的属性”,这意味着完整的属性集(而不是“某些属性”)?
Python诉3.9 @ macOS 10.15.7
Help on built-in function dir in module builtins:
dir(...)
dir([object]) -> list of strings
If called without an argument, return the names in the current scop
当我从源复制到目标时,我想忽略外部变量。我试过了
svn cp --ignore-externals sourcepath destpath
但外部因素仍然存在。你知道我该怎么做吗?
我的源码结构如下:
trunk
dir1 with sub dir ( need all of this)
dir2 with sub dir ( each sub dir has a file with svn external prop set)
dir3 with sub dir ( need all of this)
我应该能够通过一条cp命令获得我想要的所有东西,除了分支中的外部变量。
我正在尝试使用groovy创建我的项目的Ant构建。当我尝试在groovy中使用AntBuilder创建jar时,我得到了"Caught::jar jar support the "destdir“attribute”错误。
我的groovy文件如下
build.groovy
包com.groovy.core.utils
导入groovy.util.AntBuilder
类生成{
def ant = new groovy.util.AntBuilder()
def base_dir = "C:/Users/abc/neon/GroovyAntDateUtils/
在Python中,要查找所有属性,请执行以下操作:
dir(object)
object.__dict__.keys()
但我想要的是列出第二个分支中的内容,不仅仅是第一个分支,它是一种递归操作?
如何做到这一点?
就像是
dir(dir(x) for x in dir(math))
尝试了一下,仍然得到了相同的结果:
>>> for i in dir(math):
... for j in i:
... print dir(j)
所有的结果都是str的方法
更新:dir()命令似乎返回了一个str列表,这里是一个简单的技巧;我尝试排除reserve
我试图使用Python3和getattr的组合,以编程方式访问某些dir对象的所有字段。伪码如下:
x = some_object()
for i in dir(x):
print(str(getattr(x, i)))
但是,dir上的Python (dir)非常模糊:
注意,由于dir()主要是为了便于在交互式提示下使用而提供的,所以它尝试提供一组有趣的名称,而不是试图提供严格或一致定义的名称集,而且它的详细行为可能在不同版本之间发生变化。
我的问题是:( 1)是否有比使用dir更严格地实现上述目标的方法? 2)“有趣的名称集”意味着什么?它是如何计算的?