(新手寫,大佬請繞道)程序之間的簡單通訊

2021-08-24 20:52:18 字數 1318 閱讀 2120

眾所周知,在同乙個程序下的子程序之間,全域性變數是不可共用的,當我們要進行兩個程序之間的通訊時,有幾種方法,在這裡我列出兩個比較簡單的程序通訊:

1.通過訊息佇列來進行程序之間的通訊

import multiprocessing

if __name__ == '__main__':

#建立訊息佇列

queue=multiprocessing.queue(maxsize=3)#maxsize最大佇列個數為多少,這裡定義了最大佇列個數為3

#向佇列裡面放入訊息

queue.put('hello')

queue.put(1)

queue.put([1,2,3])

#queue.put(,timeout=0.5)

#timeout表示在此等待的時間,當超過你規定的時間,就報錯

'''還有,當你put(放置)的資料個數超過你定義的最大佇列個數時,沒有timeout 就會一直等待下去,不會報錯'''

print(queue)

print(queue.get())

print(queue.get())

print(queue.get())

#print(queue.get(timeout=0.5))

#取引數,只能乙個個取,不能一起取出來,沒有timeout時,處理方法與put一致,會一直等待,不會報錯,當你定義了timeout時間時,超過了這個時間就會報錯

2通過檔案來進行兩個程序之間的通訊

直接上程式:

import multiprocessing

defwrite

(data):

wenjian=open('***.txt','w')

wenjian.write(data)

wenjian.close()

defread

(): wenjian=open('***.txt','r')

a = wenjian.read()

print(a)

wenjian.close()

if __name__ == '__main__':

write1 = input('請輸入要寫入檔案的內容:')

t1 = multiprocessing.process(target=write,args=(write1,))

t2 = multiprocessing.process(target=read)

t1.start()

t1.join()

t2.start()

上面程式是通過乙個寫,另乙個讀,來達到兩個程序之間的通訊,比較簡單。

python基本語法複習 大佬請繞道)

例 3 1,break,first name都不是符合規則的 ss符合規則 是數字不能在開頭,而不是 不能在開頭 isinstance 1 int true isinstance 1 int false 100.0 1000 traceback most recent call last file ...

初來乍到,請各位大佬多多指教

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

中科軟面試經歷,已拿到offer請大佬給點意見。

今天去了中科軟,先筆試,筆試完了,面試,面試官和我聊得都很開心,技術上感覺面試官不是大牛。當場給了我offer。我要的工資是8k。在網上查了一下這個公司,基本都是負面的資訊。現在猶豫要不要去。請大佬給點意見。現在來補充 offer已經委婉拒絕,這裡再次感謝中科軟能給我這次機會謝謝。原因 我本人是個技...