Is there a standard for running a main file in a series of python files?
我有一个要分发给同事的目录,其中包含以下文件:
1 2 3 4 5
| __init__.py
common.py
file_downloader.py
builder.py
repo_setup.py |
现在,我设置为主要功能的文件是repo-set up.py,因为它具有我要查找的def main():。
我通常只运行那个文件,一切正常。但是,运行该文件并不是很直观,并且很好奇主文件的标准是什么,以启动所有操作。
我正在考虑创建一个main.py,它将启动一切,并有一个合理的自述文件。
是否有一个用多个文件开发一个项目并通过电子邮件或拇指驱动器分发它的python标准?
我觉得不需要利用setup.py,因为它不需要运行任何其他包。也许这实际上是最好的行动方案。我的第一次查看没有看到任何运行属性,它接受了一个可执行列表,以便在安装复杂之后按顺序运行。也许执行setup.py会在安装所有包之后按顺序运行python文件列表?
- 不太清楚你想做什么。调用其他文件的文件?这不是进口的目的吗?
- 理解python主要方法的可能重复
- 我知道主要的方法是什么,但是我试图创建一个易于使用的文件结构。这样用户就可以得到我的目录,他们只运行一个特定的文件。我想尝试遵循Python标准。通常我只需单击并运行一个文件并利用__name__,但我不确定是否有一个标准来运行一个应用程序,给定一个文件列表
你可以用idlelib做一些空闲的工作。调用目录project。添加project.__main__和
1 2
| from project.repo_setup import main
main() |
把(解压)project目录(及其.py文件)放在.../lib/site-packages中。这将使project置于sys.path上,并使其既可导入又可运行(作为主模块)。使用python -m project从命令行运行。(或python3,取决于版本和操作系统。)
- 所以你是说,创建一个与目录同名的文件,然后从repo安装程序导入main,然后运行它?
- 不完全是这样。在项目目录中添加一个名为__main__.py的文件,无论您如何称呼它。例如,查看lib/idlelib的文件列表。选项-m表示"将此(可导入)文件作为主模块运行"。正如导入目录实际上导入目录/uu init_uuy一样,运行目录实际上运行main.py。换句话说,python -m import.name相当于python somepath/import/name.py,但-m减轻了用户对somepath的了解,这取决于具体的安装。