如何创建导入其他导入的python脚本

如何创建导入其他导入的python脚本,python,Python,我想创建一个导入其他导入的文件,例如 startup.py: import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.use('qt5agg') ... 刚写完的 import startup 所有的都有 可能吗?不建议为可读性考虑,但您可以写: from startup import * 在要使用np等的文件中,您可以执行以下操作 startup.py import numpy as

我想创建一个导入其他导入的文件,例如

startup.py:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('qt5agg')
...
刚写完的

import startup
所有的都有


可能吗?

不建议为可读性考虑,但您可以写:

from startup import *

在要使用np等的文件中,您可以执行以下操作

startup.py

import numpy as np
import matplotlib.pyplot as plt
import matplotlib

np = np

plt = plt
matplotlib = matplotlib
main.py

from startup import *

plt.show()

在我看来,这有点难看,但很管用。

看看旧的StackOverflow帖子,它详细介绍了实现你想要的东西的许多不同方法,特别是Eric Leschinski的精彩评论

我首先要检查的最简单的解决方案是创建一个新目录,并通过在其中创建一个包含导入的_init__.py文件将其声明为一个包

您的这个虚拟包将是输入处理程序,然后从主脚本中从root.parent.folder.file导入类/变量/任何内容。主要缺点是不允许非相对路径,但如果所有项目都是自包含的,则也可以。

您可以尝试以下操作:

让file1为abc.py

让file2为main.py:

输出:

   A  B                                                                                                                                                               
0  1  2                                                                                                                                                               
1  2  3                                                                                                                                                               
2  3  4

我建议您明确指定要在star导入时导入的模块:

请尝试以下示例:

#example.py


import time
import random
import collections

__all__ = ['time', 'random']

$ python
>>> from example import *
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'random', 'time']
查看它如何不导入collections模块,因为我没有要求它:

您可以在_init__.pyuse:from startup import中这样做*
   A  B                                                                                                                                                               
0  1  2                                                                                                                                                               
1  2  3                                                                                                                                                               
2  3  4
#example.py


import time
import random
import collections

__all__ = ['time', 'random']

$ python
>>> from example import *
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'random', 'time']