gpt4 book ai didi

python - 动态调用实例变量

转载 作者:行者123 更新时间:2023-11-28 22:33:32 26 4
gpt4 key购买 nike

我有一个基于当前文件扩展名为“extension”的动态字符串

fileextension = os.path.splitext(file.filename)[1]
extension = fileextension.replace(".","")

假设 extension = "pdf"

我怎样才能调用下面的 Ext.pdf() 实例变量?

class Ext:
def pdf(self):
self.filetype = "pdf - Adobe Portable Document Format"
def txt(self):
self.filetype = "txt - ASCII text file"
Ext = Ext()

我试过:

Ext.filetype = getattr(Ext, extension)()

但这会出现一个空白条目

最佳答案

您正确调用了实例属性。要解决您的问题,请不要将结果分配给 filetype 属性:

ext = Ext()
getattr(ext, extension)()
print(ext.filetype)

它不起作用,因为您在 pdf()txt() 方法中返回了 None 并将其分配给 filetype 属性。

请注意,我将 Ext 的实例重新标记为 ext,因为用实例覆盖类定义可能不是一个好主意。

关于python - 动态调用实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39796880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com