【问题标题】:Removing a variable ending with string pattern删除以字符串模式结尾的变量
【发布时间】:2019-11-26 04:21:03
【问题描述】:

要在 Python 中删除变量/对象,我总是使用:

del variable
del [variable1, variable2] # removing multiple variables

如何扩展它,以便删除所有以某种模式结尾的变量/对象?

我问的原因是我想删除我所有的临时对象。我总是将它们命名为以_tmp 结尾。

【问题讨论】:

  • “我想删除我所有的临时对象” - 但是为什么呢? Python 的垃圾收集器会为您完成这项工作。
  • @meowgoesthedog 我基本上想这样做,因此 Python 的变量资源管理器中的概述保持清晰。例如,我可能会创建一个新的数据框,为此我首先创建 5 个临时对象/变量,然后将它们显示在我的变量资源管理器中。这 5 个对象我会给出一个以 _tmp 结尾的名称,以便我想再次删除所有这些对象。这有意义吗?
  • 如果他们四处闲逛使调试变得困难,这表明您的范围比您需要的要大得多。例如,在函数中创建数据框,然后一旦函数返回,变量将自动从变量资源管理器中删除。
  • @Ghassen 不是我。虽然你的建议不管用。

标签: python python-3.x object


【解决方案1】:

作为替代方法,但可以解决您的问题。你可以使用字典。 因此,如果您将所有临时对象保存在字典中,则只需将其删除即可。

temp_dict = {'variable1_tmp': 1234, 'variable2_tmp': 'hello'}
# remove only one temp
del temp_dict['variable1_tmp']
# remove all temp
del temp_dict

虽然这不是动态删除变量,但正如您所问的那样。 希望无论如何这可能适合您的用例。

【讨论】:

  • 很好的建议,将在我的“最佳实践”中采用它。这似乎是有道理的。
猜你喜欢
  • 2021-12-22
  • 2018-07-01
  • 2022-01-18
  • 1970-01-01
  • 2017-01-27
  • 1970-01-01
  • 2021-11-25
  • 2015-03-08
  • 1970-01-01
相关资源
最近更新 更多