# 單執行緒案例
import time
defsing()
:for i in
range(3
):print
("唱歌..."
) time.sleep(
0.5)
defdance()
:for i in
range(3
):print
("跳舞..."
) time.sleep(
0.5)
if __name__ ==
'__main__'
: sing(
) dance(
)
# 多執行緒案例
import time
import multiprocessing
defsing()
:for i in
range(3
):print
("唱歌..."
) time.sleep(
0.5)
defdance()
:for i in
range(3
):print
("跳舞..."
) time.sleep(
0.5)
if __name__ ==
'__main__'
: sing_process=multiprocessing.process(target=sing)
dance_process=multiprocessing.process(target=dance)
sing_process.start(
) dance_process.start(
)
# 程序執行帶有引數的任務
import time
import multiprocessing
defsing
(num,name)
:for i in
range
(num)
:print
(name)
print
("唱歌..."
) time.sleep(
0.5)
defdance
(num,name)
:for i in
range
(num)
:print
(name)
print
("跳舞..."
) time.sleep(
0.5)
# args表示以元組方式傳參,元組中的引數有順序
# kwargs表示用字典方式傳參,字典中的引數沒有順序,只需要索引名匹配就行
if __name__ ==
'__main__'
: sing_process=multiprocessing.process(target=sing,args=(3
,"星辰大海"))
dance_process=multiprocessing.process(target=dance,kwargs=
) sing_process.start(
) dance_process.start(
)
# 獲取當前程序編號
import os
print
("sing程序id"
,os.getpid())
print
("sing父程序id"
, os.getppid(
))
# 設定守護主程序(主程序執行完,程式就結束)
sing_process.daemon=
true
dance_process.daemon=
true
# 案例
# -*- conding = utf-8 -*-
# @time: 2021/3/23 19:41
# @author: tdl
# @file: 多程序案例.py
# @sortware: pycharm
import os
import multiprocessing
defcopy_file
(file_name, source_dir, dest_dir)
:# 1 拼接原始檔路徑和目標檔案路徑
source_path = source_dir +
'\\'
+ file_name
dest_path = dest_dir +
'\\'
+ file_name
# 2 開啟原始檔和目標檔案
with
open
(source_path,
'rb'
)as source_file:
with
open
(dest_path,
'wb'
)as dest_file:
# 3 迴圈讀取原始檔到目標路徑
while
true
: data = source_file.read(
1024
)if data:
dest_file.write(data)
else
:break
if __name__ ==
'__main__'
:# 1 定義源資料夾和目標資料夾
source_dir = r'e:\學習\資料庫'
dest_dir= r'e:\小滕'
# 2.建立目標資料夾
try:
os.mkdir(dest_dir)
except
:print
("目標資料夾已經存在"
)# 3.讀取源資料夾的檔案列表
file_list = os.listdir(source_dir)
# 4.遍歷檔案列表實現拷貝
for file_name in file_list:
# copy_file(file_name, source_dir, dest_dir)
# 5.使用多程序實現多工拷貝
sub_process = multiprocessing.process(target=copy_file, args=
(file_name, source_dir, dest_dir)
) sub_process.start(
)
python基礎教程
乙個簡單的客戶機 import socket s socket.socket host socket.gethostname port 1234 s.bind host,port s.listen 5 while true c,addr s.accept print got connection f...
Python基礎教程
本教程不包括python的安裝,ide採用spyder pytho2.7 1.print pow 2,3 8 print 2 3 8這裡pow函式表示乘方,與 功能相同。2.abs 10 10abs函式用來求乙個數的絕對值。3.round 0.6 1.0 round 0.4 0.0round函式將浮...
Python 基礎教程
python由guido van rossum於1989年底發明,第乙個公開發行版發行於1991年。像perl語言一樣,python 源 同樣遵循 gpl gnu general public license 協議。本教程主要針對python 2.x版本的學習,如果你使用的是python 3.x版本...