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...