【问题标题】:Importing a whole folder of python files导入整个 python 文件的文件夹
【发布时间】:2019-02-14 21:49:11
【问题描述】:

在我正在处理的当前 python 程序中,我需要访问大量存储的数据。我以一堆字典的形式存储它,每个字典都在自己的文件中。每个文件都有一个命令:giveArchive()。因此,要访问其中一个文件,我使用:

import fileName
return fileName.giveArchive()

到目前为止,这运作良好,但随着我需要的文件数量增加,我想稍微简化一下。我想将所有这些文件存储在同一个文件夹中,并且该文件夹与我的主文件位于同一目录中。有什么方法可以导入文件夹中的每个文件吗?如果我这样做了,我该如何使用其中特定文件中的“giveArchive()”?

【问题讨论】:

  • 将字典保存为 json。

标签: python-3.x import module


【解决方案1】:

你可以这样做:

from folder.subfolder.deepersubfolder import filename
return filename.giveArchive()

这假设folder 可以从您的脚本运行的目录中访问

【讨论】:

  • 有趣。是的,这行得通。有什么方法可以只导入文件夹中的所有内容吗?而不是必须为每个文件名都这样做?
  • 首先,如果这回答了您的问题,那么如果您可以单击帖子旁边的复选标记(这就是您接受答案以便线程关闭的方式),那就太好了。要回答您的第二个问题,我相信如果您说from folder.subfolder.deepersubfolder import *,它将从该文件夹中导入所有文件。不过在导入 * 时要小心,因为这会给您带来意想不到的全局变量...
  • 啊,抱歉。我是这个网站的新手。所以我尝试使用它,但现在当我引用文件夹中的特定文件时,它说它无法识别。即,fileName.giveArchive 现在失败了
  • 别担心!我认为经过一番研究,import * 只应该专门从 Python 文件中导入内容。我认为最好坚持上面帖子中的答案......或者,您可以考虑以.json 等格式制作数据库,这可能对您有用。或者将os 模块用于其模块,例如os.walk()os.listdir(),这也可能对您有用,具体取决于您的最终目标
猜你喜欢
  • 2019-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多