python Process 多进程编程
多进程编程任务要求:
在主进程中使用 Process类创建一个子进程,具体功能要求如下:
(1)主进程创建子进程后,通过tkinter界面程序实时显示当前的系统时间(格式:年-月-日 时:分:秒)。
(2)子进程通过写文件的方式,将当前系统时间以追加的方式写入到本地文件(文件名:child-task.txt)。
代码实现
import multiprocessing
import os
import time
import random
import tkinter as tk
from tkinter import *
from multiprocessing import Process
#1、实时显示当前的系统时间
master = tk.Tk()
master.geometry("300x100+200+200")
master.title("时间窗口")
frame1 = tk.Frame(master) #框架
timestr = tk.StringVar() #创建可变数据类型
time1 = ''
#2、将当前系统时间以追加的方式写入到本地文件
def main():
while True:
q = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
with open(r"D:/我的文件夹/child-task.txt",'a+') as stream:
time.sleep(1)
stream.write(q+'\n')
if __name__ == '__main__':
p = multiprocessing.Process(target=main)
p.start()
def tick():
global time1
time2 = time.strftime('%Y-%m-%d %H:%M:%S')
if time2 != time1:
time1 = time2
clock.config(text=time2)
clock.after(1000, tick)
clock = Label(master,font=('times',20,'bold'))
clock.pack()
tick()
master.mainloop()
#listdir(path) 获取目录的文件列表
current_path = r'D:/我的文件夹'
print(os.listdir(current_path))
效果图