main.py:
import sys
import os
import datetime
import numpy
from util import *
util.py:
import sys
import os
import logging
main.py中是否需要“导入系统”和“导入操作系统”
如果main.py和util.py中都有“import sys”和“import os”,脚本会加载模块两次吗
如果我创建一个单独的myimports.py文件,其中包含两个文件的所有导入,并在main.py和util.py中指定:
from myimports import *
是否每个文件都必须导入它不需要的模块
我应该只保留各自的导入,而不使用单独的myimports.py文件吗
如果我只需要sys的Path,那么如果我使用以下命令,脚本的加载速度会更快还是占用更少的内存:
从系统导入路径#
很难回答,这取决于它是否在
main.py
代码中使用否,python导入系统缓存已计算的模块。导入后,任何请求相同模块的导入语句都将从全局注册表返回该模块。这件事有起有落
如果我理解正确的话——这通常是一种不好的做法(在编写库或迁移具有复杂向后兼容性的代码时有一些例外)。您应该将每个模块中的导入视为此模块依赖项的提示,就像函数中的参数一样。它们更清晰、更明确——更容易阅读和理解您的代码。这是你首先应该考虑的主要因素(如果不是唯一的话)
在使用导入功能的模块中保留导入。导入包装器是一个相当奇怪的想法——它可能在罕见的情况下有一些用途,但在正常的日常开发中,它会减少true code quality
没有区别,一旦您从任何地方的
sys
(或任何其他模块)请求任何内容,整个sys
都将被评估并放入模块注册表。但通常显式导入确实是一件好事from sys import path
提示您的模块依赖于Path
。类似import sys
的内容传达了“我非常依赖sys
模块,因此一次导入所有内容更容易”。在第一种情况下,读者期望处理PYTHONPATH
的典型工作,在后一种情况下——硬编码系统级“元编程”此操作的副作用–由于模块作为一个整体导入和缓存,在完成此导入后,从任何其他模块中的
sys
进行的任何导入都将很快(直到请求强制重新加载或手动更改注册表)这里有一些你可能会觉得有用的东西。对不起,我没有回答你所有的问题
我创建了这个python文件目录
在my_.py中
在main.py中
现在运行main.py,它会将当前时间打印到控制台。希望这个技巧能为您提供解决方案
相关问题 更多 >
编程相关推荐