首页 \ 问答 \ 在不同的文件中导入相同的模块(Importing the same modules in different files)

在不同的文件中导入相同的模块(Importing the same modules in different files)

假设我编写了一组要在python文件中使用的类,并在脚本中使用它们(或者在不同的文件中使用python代码)。 现在这两个文件都需要导入一组模块。 导入是仅包含一次还是包含在两个文件中?

文件1: my_module.py

import os

class myclass(object):
    def __init__(self,PATH):
        self.list_of_directories = os.listdir(PATH)

文件2:

import os
import my_module

my_module.m = myclass("C:\\User\\John\\Desktop")

list_ = m.list_of_directories

print os.getcwd()

我应该将行import os添加到这两个文件中吗?

假设有很多模块需要导入,这对性能有何影响? 另外,一个模块,一旦导入,在这种情况下重新加载?


Supposing I have written a set of classes to be used in a python file and use them in a script (or python code in a different file). Now both the files require a set of modules to be imported. Should the import be included only once, or in both the files ?

File 1 : my_module.py.

import os

class myclass(object):
    def __init__(self,PATH):
        self.list_of_directories = os.listdir(PATH)

File 2 :

import os
import my_module

my_module.m = myclass("C:\\User\\John\\Desktop")

list_ = m.list_of_directories

print os.getcwd()

Should I be adding the line import os to both the files ?

How does this impact the performance, supposing there are lots of modules to be imported ? Also, is a module ,once imported, reloaded in this case ?


原文:https://stackoverflow.com/questions/30944983
更新时间:2023-11-17 06:11

最满意答案

您正在创建一个新计时器

System.Timers.Timer timer = new System.Timers.Timer();

里面有本地范围

protected override void OnStart(string[] args)

当它超出范围时,它可以被垃圾收集。 这可能迟早会发生,因此根据收集垃圾的时间,您的服务会更短或更长。

将计时器声明为与服务一样长的字段:

System.Timers.Timer _timer;

protected override void OnStart(string[] args)
{
    [...]
    _timer = new System.Timers.Timer();
    _timer.Elapsed += new System.Timers.ElapsedEventHandler(this.OnTimer);
    _timer.Start();
    [...]

You are creating a new timer

System.Timers.Timer timer = new System.Timers.Timer();

that has a local scope inside

protected override void OnStart(string[] args)

When it goes out of scope, it can be garbage collected. This may happen sooner or later, so your service works shorter or longer depending on when garbage is collected.

Declare the timer as a field that lives as long as the service:

System.Timers.Timer _timer;

protected override void OnStart(string[] args)
{
    [...]
    _timer = new System.Timers.Timer();
    _timer.Elapsed += new System.Timers.ElapsedEventHandler(this.OnTimer);
    _timer.Start();
    [...]

相关问答

更多

相关文章

更多

最新问答

更多
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)
  • 是否可以嵌套hazelcast IMaps?(Is it possible to nest hazelcast IMaps? And whick side effects can I expect? Is it a good Idea anyway?)
  • UIViewAnimationOptionRepeat在两个动画之间暂停(UIViewAnimationOptionRepeat pausing in between two animations)
  • 在x-kendo-template中使用Razor查询(Using Razor query within x-kendo-template)
  • 在BeautifulSoup中替换文本而不转义(Replace text without escaping in BeautifulSoup)
  • 如何在存根或模拟不存在的方法时配置Rspec以引发错误?(How can I configure Rspec to raise error when stubbing or mocking non-existing methods?)
  • asp用javascript(asp with javascript)
  • “%()s”在sql查询中的含义是什么?(What does “%()s” means in sql query?)
  • 如何为其编辑的内容提供自定义UITableViewCell上下文?(How to give a custom UITableViewCell context of what it is editing?)
  • c ++十进制到二进制,然后使用操作,然后回到十进制(c++ Decimal to binary, then use operation, then back to decimal)
  • 以编程方式创建视频?(Create videos programmatically?)
  • 无法在BeautifulSoup中正确解析数据(Unable to parse data correctly in BeautifulSoup)
  • webform和mvc的区别 知乎
  • 如何使用wadl2java生成REST服务模板,其中POST / PUT方法具有参数?(How do you generate REST service template with wadl2java where POST/PUT methods have parameters?)
  • 我无法理解我的travis构建有什么问题(I am having trouble understanding what is wrong with my travis build)
  • iOS9 Scope Bar出现在Search Bar后面或旁边(iOS9 Scope Bar appears either behind or beside Search Bar)
  • 为什么开机慢上面还显示;Inetrnet,Explorer
  • 有关调用远程WCF服务的超时问题(Timeout Question about Invoking a Remote WCF Service)