我有一個Python文件B,其中包含我的所有函數和一個在0.25秒循環中的主代碼,並且我想在我的文件中循環調用此文件A.你可以得到我的奇怪頭腦嗎? 我做了什麼,但只有讀取文件B一旦循環:從文件A中的文件B中調用函數A
#FileA
while 1:
from FileB import *
我的文件B:
感謝。
PS:我忘了提,我不能修改該文件B.
我有一個Python文件B,其中包含我的所有函數和一個在0.25秒循環中的主代碼,並且我想在我的文件中循環調用此文件A.你可以得到我的奇怪頭腦嗎? 我做了什麼,但只有讀取文件B一旦循環:從文件A中的文件B中調用函數A
#FileA
while 1:
from FileB import *
我的文件B:
感謝。
PS:我忘了提,我不能修改該文件B.
import
語句只讀取一次目標模塊。
如果你有這兩個文件的控制,我建議你讓你的循環在文件B的函數:
def main():
while t<0.25:
#my stuff
if __name__ == '__main__':
main()
然後你就可以從文件中的重複調用它:
from fileB import main as Bmain
while 1:
Bmain()
如果您不具備文件源代碼的控制權(意思是:如果代碼來自其他人),則有幾個選項。可能最簡單和最快的代碼是使用os.system(command)
函數在單獨的進程中運行fileB的內容。
我強烈建議使用'subprocess.call'(或'subprocess'模塊中的其他工具之一)而不是'os.system'。從'os.system'文檔(喜歡的答案):''subprocess'模塊提供了更強大的工具來產生新的進程並檢索它們的結果;使用該模塊比使用這個函數更可取。 –
你應該使用functions,你沒有任何的功能在你的問題。以下是一個示例:
# fileA.py
import time
from fileB import myFunction
def main():
while True:
ret = myFunciton()
time.sleep(3)
main()
# fileB.py
def myFunction():
print "running myFunction"
return "result"
爲什麼你的循環是主代碼,如果你想多次回調它?這是一個功能! –