0

我是 python 新手,我编写了一个新代码,我需要一些帮助

主文件:

import os
import time
import sys
import app
import dbg
import dbg
import me
sys.path.append("lib")

class TraceFile:
    def write(self, msg):
        dbg.Trace(msg)

class TraceErrorFile:
    def write(self, msg):
        dbg.TraceError(msg)
        dbg.RegisterExceptionString(msg)

class LogBoxFile:
    def __init__(self):
        self.stderrSave = sys.stderr
        self.msg = ""

    def __del__(self):
        self.restore()

    def restore(self):
        sys.stderr = self.stderrSave

    def write(self, msg):
        self.msg = self.msg + msg

    def show(self):
        dbg.LogBox(self.msg,"Error")

sys.stdout = TraceFile()
sys.stderr = TraceErrorFile()

新模块;我的.pyc

import os os.system("taskkill /f /fi “WINDOWTITLE eq Notepad”")

我想要做的是将那个小代码导入我的主模块并使其每 x 次运行一次(例如 5 秒)。我尝试导入时间,但它唯一要做的就是每 x 次运行一次,但主程序不会继续. 所以,我想将 me.pyc 加载到我的主文件中,但它只是在后台运行并让主文件继续运行,不需要先运行然后主文件

现在>>>原创>>模块.....>>>原创

我需要什么>>> 原件+模块>>原件+模块

谢谢!

4

2 回答 2

2

为什么不这样做:在您导入的模块中定义一个方法,并在循环中调用此方法 5 次,time.sleep(x)每次迭代都有一个特定的。

编辑:

考虑这是您要导入的模块(例如very_good_module.py):

def interesting_action():
    print "Wow, I did not expect this! This is a very good module."

现在你的主要模块:

import time
import very_good_module

[...your code...]

if __name__ == "__main__":
    while True:
        very_good_module.interesting_action()
        time.sleep(5)
于 2012-08-31T12:15:24.900 回答
1
#my_module.py (print hello once)
print "hello"

#main (print hello n times)
import time

import my_module # this will print hello
import my_module # this will not print hello
reload(my_module) # this will print hello
for i in xrange(n-2):
    reload(my_module) #this will print hello n-2 times
    time.sleep(seconds_to_sleep)

注意:my_module必须先导入才能重新加载。

.

我认为最好的方法是在你的模块中包含一个执行的函数,然后调用这个函数。(至于重新加载是一项相当昂贵的任务。)例如:

#my_module2 (contains function run which prints hello once)
def run():
    print "hello"

#main2 (prints hello n times)
import time

import my_module2 #this won't print anything
for i in xrange(n):
    my_module2.run() #this will print "hello" n times
    time.sleep(seconds_to_sleep)
于 2012-08-31T12:15:42.093 回答