最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python run()函數(shù)和start()函數(shù)的比較和差別介紹

 更新時間:2020年05月03日 18:41:12   作者:AGUICHINESE  
這篇文章主要介紹了Python run()函數(shù)和start()函數(shù)的比較和差別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

run() 方法并不啟動一個新線程,就是在主線程中調(diào)用了一個普通函數(shù)而已。

start() 方法是啟動一個子線程,線程名就是自己定義的name。

因此,如果你想啟動多線程,就必須使用start()方法。

請看實例:(源代碼)

1 使用run()方法啟動線程,它打印的線程名是MainThread,也就是主線程。

import threading,time

def worker():
count = 1
while True:
if count >= 4:
break
time.sleep(1)
count += 1
print(“thread name = {}”.format(threading.current_thread().name))

print(“Start Test run()”)
t1 = threading.Thread(target=worker, name=“MyTryThread”)
t1.run()

print(“run() test end”)

運行結果:

Start Test run()
thread name = MainThread
thread name = MainThread
thread name = MainThread
run() test end

2 使用start()方法啟動的線程名是我們定義線程對象時設置的name="MyThread"的值,如果沒有設置name參數(shù)值,則會打印系統(tǒng)分配的Thread-1,Thread-2…這樣的名稱。

import threading,time

def worker():
count = 1
while True:
if count >= 4:
break
time.sleep(2)
count += 1
print(“thread name = {}”.format(threading.current_thread().name)) # 當前線程名

print(“Start Test start()”)
t = threading.Thread(target=worker, name=“MyTryThread”)
t.start()
t.join()

print(“start() test end”)

運行結果:

Start Test start()
thread name = MyTryThread
thread name = MyTryThread
thread name = MyTryThread
start() test end

3 兩個子線程都用run()方法啟動,但卻是先運行t1.run(),運行完之后才按順序運行t2.run(),兩個線程都工作在主線程,沒有啟動新線程,thread ID都是一樣的,因此,run()方法僅僅是普通函數(shù)調(diào)用。

import threading,time

def worker():
count = 1
while True:
if count >= 4:
break
time.sleep(2)
count += 1
print(“thread name = {}, thread id = {}”.format(threading.current_thread().name,
threading.current_thread().ident))

print(“Start Test run()”)
t1 = threading.Thread(target=worker, name=“t1”)
t2 = threading.Thread(target=worker, name=‘t2')

t1.run()
t2.run()

print(“run() test end”)

運行結果:

Start Test run()
thread name = MainThread, thread id = 3920
thread name = MainThread, thread id = 3920
thread name = MainThread, thread id = 3920
thread name = MainThread, thread id = 3920
thread name = MainThread, thread id = 3920
thread name = MainThread, thread id = 3920
run() test end

4 使用start()方法啟動了兩個新的子線程并交替運行,每個子進程ID也不同。

import threading,time

def worker():
count = 1
while True:
if count >= 4:
break
time.sleep(2)
count += 1
print(“thread name = {}, thread id = {}”.format(threading.current_thread().name,
threading.current_thread().ident))

print(“Start Test start()”)
t1 = threading.Thread(target=worker, name=“MyTryThread1”)
t2 = threading.Thread(target=worker, name=“MyTryThread2”)
t1.start()
t2.start()
t1.join()
t2.join()
print(“start() test end”)

運行結果:

Start Test start()
thread name = MyTryThread1, thread id = 4628
thread name = MyTryThread2, thread id = 872
thread name = MyTryThread1, thread id = 4628
thread name = MyTryThread2, thread id = 872
thread name = MyTryThread1, thread id = 4628
thread name = MyTryThread2, thread id = 872
start() test end

補充知識:python 文件操作常用輪子

path

注意: 對于任何需要處理文件名的問題,都應該使用os.path模塊而不是字符串操作。兩個原因,os.path能夠處理移植性問題,如windows,linux。 另一個原因,不要重復造輪子

獲取文件名

import os
filename = os.path.basename(filepath)
print(filename)

獲取文件當前文件夾目錄

filename = os.path.dirname(filepath)

同時獲取文件夾和文件名

dirname, filename = os.path.split(filepath)

split 文件擴展名

path_without_ext, ext = os.path.splitext(filepath)
# e.g 'hello/world/read.txt' then
# path_without_ext = hello/world/read, ext = .txt

遍歷文件夾下所有文件方法

import glob

pyfiles = glob.glob('*.py')

or

def getAllFiles(filePath, filelist=[]):
  for root, dirs, files in os.walk(filePath):
    for f in files:
      filelist.append(os.path.join(root, f))
      print(f)
  return filelist

判斷是否為文件 file

os.path.isfile('/etc/passwd')

判斷是否為文件夾 folder

os.path.isdir('/etc/passwd')

是否是軟鏈接

os.path.islink('/usr/local/bin/python3')

軟鏈接真正指向的是

os.path.realpath('/usr/local/bin/python3')

size

獲取文件大小

import os
size = os.path.getsize(filepath)
print(size)

獲取文件夾大小

import os
 
def getFileSize(filePath, size=0):
  for root, dirs, files in os.walk(filePath):
    for f in files:
      size += os.path.getsize(os.path.join(root, f))
      print(f)
  return size
 
print(getFileSize("."))

time

import time
t1 = os.path.gettime('/etc/passwd')
# t1 1272478234.0
t2 = time.ctime(t1)
# t2 'Wed Apr 28 12:10:05 2010'

以上這篇Python run()函數(shù)和start()函數(shù)的比較和差別介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關文章

  • Python 多個圖同時在不同窗口顯示的實現(xiàn)方法

    Python 多個圖同時在不同窗口顯示的實現(xiàn)方法

    今天小編就為大家分享一篇Python 多個圖同時在不同窗口顯示的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python語言元素知識點詳解

    python語言元素知識點詳解

    在本篇文章中小編給大家分享了關于python語言元素的相關知識點以及實例代碼,需要的朋友們跟著學習下。
    2019-05-05
  • pytorch 如何自定義卷積核權值參數(shù)

    pytorch 如何自定義卷積核權值參數(shù)

    這篇文章主要介紹了pytorch 自定義卷積核權值參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python3批量移動指定文件到指定文件夾方法示例

    Python3批量移動指定文件到指定文件夾方法示例

    這篇文章主要給大家介紹了關于Python3批量移動指定文件到指定文件夾的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python3具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • matplotlib繪圖實例演示標記路徑

    matplotlib繪圖實例演示標記路徑

    這篇文章主要介紹了matplotlib繪圖實例演示標記路徑,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python數(shù)據(jù)類型之String字符串實例詳解

    Python數(shù)據(jù)類型之String字符串實例詳解

    這篇文章主要介紹了Python數(shù)據(jù)類型之String字符串,結合實例形式詳細講解了Python字符串的概念、定義、連接、格式化、轉換、查找、截取、判斷等常見操作技巧,需要的朋友可以參考下
    2019-05-05
  • python 爬取影視網(wǎng)站下載鏈接

    python 爬取影視網(wǎng)站下載鏈接

    一個簡單的爬取影視網(wǎng)站下載鏈接的爬蟲,非常適合新手學習,感興趣的朋友可以參考下
    2021-05-05
  • python PyTorch預訓練示例

    python PyTorch預訓練示例

    這篇文章主要介紹了python PyTorch預訓練示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • python3使用flask編寫注冊post接口的方法

    python3使用flask編寫注冊post接口的方法

    今天小編就為大家分享一篇python3使用flask編寫注冊post接口的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python?scipy利用快速傅里葉變換實現(xiàn)濾波

    Python?scipy利用快速傅里葉變換實現(xiàn)濾波

    這篇文章主要為大家詳細介紹了Python?scipy如何利用快速傅里葉變換實現(xiàn)濾波,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01

最新評論

扬中市| 张掖市| 武冈市| 镇宁| 申扎县| 建瓯市| 连山| 泸州市| 武邑县| 睢宁县| 奉贤区| 江川县| 雅江县| 滁州市| 炉霍县| 南昌县| 瑞昌市| 甘南县| 肇东市| 和静县| 米泉市| 鹿泉市| 永清县| 崇明县| 习水县| 吉安市| 宿州市| 措美县| 林口县| 施秉县| 竹山县| 含山县| 阿城市| 保靖县| 塔河县| 洞口县| 星子县| 洪洞县| 阳新县| 阳高县| 溆浦县|