python中引包機制

2021-10-08 01:34:18 字數 1677 閱讀 9029

python從下面3個路徑引包,比如引包「import a」:

1. 首先從當前目前下查詢是否有「a.py」檔案,

2. 到pyhton安裝目錄「c:\\python36\lib」下面去找是否有「a.py」檔案,

3. 最後到環境變數sys.path下面去找。

1. test.py檔案中呼叫cls_a.py檔案中的方法

cls_a.py檔案**如下,

class cls_a():

def say():

print("這是cls_a類中的方法say")

test.py檔案**如下:

import sys, os

os.chdir("../")#返回到上一路徑

from bao_a.cls_a import cls_a

cls_a.say()

os.chdir("../")將目前路徑返回到「***.bao2」目錄下並將該目錄新增到sys.path中,此時即可找到"bao_a",如果只是將目前路徑返回到「***.bao2」目錄下,而不將該目錄新增到sys.path中,引包時,從3個路徑都找不到"bao_a",就會報錯。

2. test02.py中的類繼承了test01.py中的類,並呼叫test01.py中的方法,mian_test_in.py呼叫了test02.py中繼承test01.py中的方法

test01.py的**如下:

class a():

def __init__(self, a, b):

self.a = a

self.b = b

def add(self):

return self.a + self.b

if __name__ == "__main__":

print(a(2,3).add())

test02.py的**如下:

import sys, os

from test01 import a

class b(a):

def sub(self):

return self.a - self.b

if __name__ == "__main__":

print(a(2,3).add())

test01.py和test02.py是同乙個目錄下,原本可以直接引包,但是以mian_test_in.py檔案的角度,直接「form test01 import a」是找不到test01.py檔案的,需要將「./a」新增到sys.path中,再「form test01 import a」就可以在"***/a"目錄下找到test01.py了

mian_test_in.py的**如下:

import os, sys

os.chdir("../")

from a.test02 import b

print(b(3,1).sub())

心跳包機制

心跳包機制 跳包之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so kee...

心跳包機制

之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so keepalive。系...

心跳包機制

心跳包之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so keepaliv...