除了使用像.txt/dummy文件这样的文件之外,是否可能将值从一个程序传递到另一个程序
我有一个程序,它使用.txt文件将起始值传递给另一个程序。每次运行程序(十次,基本上是同时运行)时,我都会在启动程序之间更新文件中的值。这样做很好,但我想让“孩子”程序在完成后向“母亲”程序报告,并报告找到的下载文件
是否可以在不使用11个文件的情况下执行此操作(即“child”到“mother”报告的每个实例一个文件,而“mother”到“child”报告的每个实例一个文件)?我说的是完全独立的程序,不是类或函数之类的
为了高效地运行,而不是等待几个小时来完成所有的事情,我需要“child”程序运行十次,并更快地完成任务。因此,我运行子程序十次,并给每个程序一个单独的范围进行检查
这两个程序都运行得很好,但我想让它们彼此运行/报告,希望不要使用文件“传输”来完成任务,特别是在数据传输的子-母端
“母亲”计划…目前
import os
import sys
import subprocess
import time
os.chdir ('/media/')
#find highest download video
Hival = open("Highest.txt", "r")
Histr = Hival.read()
Hival.close()
HiNext = str(int(Histr)+1)
#setup download #1
NextVal = open("NextVal.txt","w")
NextVal.write(HiNext)
NextVal.close()
#call download #1
procs=[]
proc=subprocess.Popen(['python','test.py'])
procs.append(proc)
time.sleep(2)
#setup download #2-11
Histr2 = int(Histr)/10000
Histr2 = Histr2 + 1
for i in range(10):
Hiint = str(Histr2)+"0000"
NextVal = open("NextVal.txt","w")
NextVal.write(Hiint)
NextVal.close()
proc=subprocess.Popen(['python','test.py'])
procs.append(proc)
time.sleep(2)
Histr2 = Histr2 + 1
for proc in procs:
proc.wait()
“儿童”计划
import urllib
import os
from Tkinter import *
import time
root = Tk()
root.title("Audiodownloader")
root.geometry("200x200")
app = Frame(root)
app.grid()
os.chdir('/media/')
Fileval = open('NextVal.txt','r')
Fileupdate = Fileval.read()
Fileval.close()
Fileupdate = int(Fileupdate)
Filect = Fileupdate/10000
Filect2 = str(Filect)+"0009"
Filecount = int(Filect2)
while Fileupdate <= Filecount:
root.title(Fileupdate)
url = 'http://www.yourfavoritewebsite.com/audio/encoded/'+str(Fileupdate)+'.mp3'
urllib.urlretrieve(url,str(Fileupdate)+'.mp3')
statinfo = os.stat(str(Fileupdate)+'.mp3')
if statinfo.st_size<10000L:
os.remove(str(Fileupdate)+'.mp3')
time.sleep(.01)
Fileupdate = Fileupdate+1
root.update_idletasks()
我正在尝试将原来的VB6程序转换为Linux,同时使其更易于使用。因此缺少.mainloop
。这是我第一次真正尝试Python中的任何东西,因此缺少def
或类。在一个半月的无所事事后,我正试图回来完成这件事,主要是因为我不知道如何去做。在不久前的研究中,我发现这是我无法理解的。我从来没有对线程/套接字/客户机/服务器交互做过任何事情,所以在这种情况下我纯粹是个白痴。谷歌搜索上面的任何东西,然后我就被带回到这里去stackoverflow
是的,为了节省时间,我想要同时运行10个程序副本。如果程序可以向“母亲”报告,以便母亲可以在屏幕上打印正在搜索的当前值,那么我可以不使用gui界面。以及孩子是否可以在完成时报告,以及是否有成功下载的文件(与由于太小而下载然后删除的文件相比)。我将使用成功下载的信息来更新Highest.txt,以便下次运行该程序
我认为这可能会更好地澄清问题……或者我不理解使用服务器/客户端交互的本质:)程序中time.sleep
的唯一原因是试图确保在运行子程序的下一个实例之前写入文件。我不知道我可能会遇到什么样的时间问题,所以为了安全起见,我加入了这些行
当您谈到使用txt在程序之间传递信息时,我们首先需要知道您使用的是什么语言。 在我的Java和Python知识范围内,achi是可行的,尽管需要大量的信息
在python中,您可以使用它附带的库来读写txt和调度执行,您可以使用apscheduler
这可以通过使用多处理库的简单客户机/服务器拓扑来实现。使用您的母亲/孩子术语:
server.py
client.py
跑
相关问题 更多 >
编程相关推荐